Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-night-mode-disabled vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-1 vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-1 vector-sticky-header-enabled" lang="en" dir="ltr"><head>
<meta charset="UTF-8">
<title>Advanced Encryption Standard</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="canonical" href="https://en.wikipedia.org/wiki/Advanced_Encryption_Standard"> <link href="./mw/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/ext.math.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/skins.vector.styles.css" rel="stylesheet" type="text/css">
<link href="./mw/user.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link rel="stylesheet" type="text/css" href="./mw/site.styles.css">
<link rel="stylesheet" type="text/css" href="./mw/noscript.css">
<link rel="stylesheet" type="text/css" href="./footer.css">
<link rel="stylesheet" type="text/css" href="./vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Advanced_Encryption_Standard rootpage-Advanced_Encryption_Standard skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading">
<span id="openzim-page-title" class="mw-page-title-main"><span class="mw-page-title-main">Advanced Encryption Standard</span></span>
</h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="en" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="en" dir="ltr">
<style data-mw-deduplicate="TemplateStyles:r1295905060">
/* start https://en.wikipedia.org/ */


.mw-parser-output .infobox-subbox{padding:0;border:none;margin:-3px;width:auto;min-width:100%;font-size:100%;clear:none;float:none;background-color:transparent}.mw-parser-output .infobox-3cols-child{margin:auto}.mw-parser-output .infobox .navbar{font-size:100%}@media screen{html.skin-theme-clientpref-night .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .infobox-full-data:not(.notheme)>div:not(.notheme)[style]{background:#1f1f23!important;color:#f8f9fa}}@media(min-width:640px){body.skin--responsive .mw-parser-output .infobox-table{display:table!important}body.skin--responsive .mw-parser-output .infobox-table>caption{display:table-caption!important}body.skin--responsive .mw-parser-output .infobox-table>tbody{display:table-row-group}body.skin--responsive .mw-parser-output .infobox-table th,body.skin--responsive .mw-parser-output .infobox-table td{padding-left:inherit;padding-right:inherit}}


/* end https://en.wikipedia.org/ */
</style><table class="infobox"><caption class="infobox-title">Advanced Encryption Standard<br>(Rijndael)</caption><tbody><tr><td colspan="2" class="infobox-image"><span typeof="mw:File"></span><div class="infobox-caption">Visualization of the AES round function</div></td></tr><tr><th colspan="2" class="infobox-header">General</th></tr><tr><th scope="row" class="infobox-label">Designers</th><td class="infobox-data"><a href="Joan_Daemen" title="Joan Daemen">Joan Daemen</a>, <a href="Vincent_Rijmen" title="Vincent Rijmen">Vincent Rijmen</a></td></tr><tr><th scope="row" class="infobox-label">First published</th><td class="infobox-data">1998</td></tr><tr><th scope="row" class="infobox-label">Derived from</th><td class="infobox-data"><a href="Square_(cipher)" title="Square (cipher)">Square</a></td></tr><tr><th scope="row" class="infobox-label">Successors</th><td class="infobox-data"><a href="Anubis_(cipher)" title="Anubis (cipher)">Anubis</a>, <a href="Grand_Cru_(cipher)" title="Grand Cru (cipher)">Grand Cru</a>, <a href="Kalyna_(cipher)" title="Kalyna (cipher)">Kalyna</a></td></tr><tr><th scope="row" class="infobox-label">Certification</th><td class="infobox-data"><a href="Advanced_Encryption_Standard_process" title="Advanced Encryption Standard process">AES</a> winner, <a href="CRYPTREC" title="CRYPTREC">CRYPTREC</a>, <a href="NESSIE" title="NESSIE">NESSIE</a>, <a href="National_Security_Agency" title="National Security Agency">NSA</a></td></tr><tr><th colspan="2" class="infobox-header">Cipher detail</th></tr><tr><th scope="row" class="infobox-label"><a href="Key_size" title="Key size">Key sizes</a></th><td class="infobox-data">128, 192 or 256 bits<sup id="cite_ref-keysize_1-0" class="reference"><a href="#cite_note-keysize-1"><span class="cite-bracket">[</span>note 1<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label"><a href="Block_size_(cryptography)" title="Block size (cryptography)">Block sizes</a></th><td class="infobox-data">128 bits<sup id="cite_ref-blocksize_2-0" class="reference"><a href="#cite_note-blocksize-2"><span class="cite-bracket">[</span>note 2<span class="cite-bracket">]</span></a></sup></td></tr><tr><th scope="row" class="infobox-label">Structure</th><td class="infobox-data"><a href="Substitution%E2%80%93permutation_network" title="Substitution–permutation network">Substitution–permutation network</a></td></tr><tr><th scope="row" class="infobox-label"><a href="Round_(cryptography)" title="Round (cryptography)">Rounds</a></th><td class="infobox-data">10, 12 or 14 (depending on key size)</td></tr><tr><th colspan="2" class="infobox-header">Best public <a href="Cryptanalysis" title="Cryptanalysis">cryptanalysis</a></th></tr><tr><td colspan="2" class="infobox-below" style="line-height: 1.25em; text-align: left">Attacks have been published that are computationally faster than a full <a href="Brute-force_attack" title="Brute-force attack">brute-force attack</a>, though none as of 2023 are computationally feasible.<sup id="cite_ref-aesbc_3-0" class="reference"><a href="#cite_note-aesbc-3"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup>
<p>For AES-128, the key can be recovered with a <a href="Computational_complexity" title="Computational complexity">computational complexity</a> of 2<sup>126.1</sup> using the <a href="Biclique_attack" title="Biclique attack">biclique attack</a>. For biclique attacks on AES-192 and AES-256, the computational complexities of 2<sup>189.7</sup> and 2<sup>254.4</sup> respectively apply. <a href="Related-key_attack" title="Related-key attack">Related-key attacks</a> can break AES-192 and AES-256 with complexities 2<sup>99.5</sup> and 2<sup>176</sup> in both time and data, respectively.<sup id="cite_ref-relkey_4-0" class="reference"><a href="#cite_note-relkey-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup>
</p>
Another attack was blogged<sup id="cite_ref-Bruce_Schneier_5-0" class="reference"><a href="#cite_note-Bruce_Schneier-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup> and released as a <a href="Preprint" title="Preprint">preprint</a><sup id="cite_ref-6" class="reference"><a href="#cite_note-6"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup> in 2009. This attack is against AES-256 that uses only two related keys and 2<sup>39</sup> time to recover the complete 256-bit key of a 9-round version, or 2<sup>45</sup> time for a 10-round version with a stronger type of related subkey attack, or 2<sup>70</sup> time for an 11-round version.</td></tr></tbody></table>
<p>The <b>Advanced Encryption Standard</b> (<b>AES</b>), also known by its original name <b>Rijndael</b> (<style data-mw-deduplicate="TemplateStyles:r1177148991">
/* start https://en.wikipedia.org/ */


.mw-parser-output .IPA-label-small{font-size:85%}.mw-parser-output .references .IPA-label-small,.mw-parser-output .infobox .IPA-label-small,.mw-parser-output .navbox .IPA-label-small{font-size:100%}


/* end https://en.wikipedia.org/ */
</style><span class="IPA-label IPA-label-small">Dutch pronunciation:</span> <span class="IPA nowrap" lang="nl-Latn-fonipa">[ˈrɛindaːl]</span>),<sup id="cite_ref-Rijndael-ammended.pdf_7-0" class="reference"><a href="#cite_note-Rijndael-ammended.pdf-7"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> is a specification for the <a href="Encryption" title="Encryption">encryption</a> of electronic data established by the U.S. <a href="National_Institute_of_Standards_and_Technology" title="National Institute of Standards and Technology">National Institute of Standards and Technology</a> (NIST) in 2001.<sup id="cite_ref-fips-197_8-0" class="reference"><a href="#cite_note-fips-197-8"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup>
</p><p>AES is a variant of the Rijndael <a href="Block_cipher" title="Block cipher">block cipher</a><sup id="cite_ref-Rijndael-ammended.pdf_7-1" class="reference"><a href="#cite_note-Rijndael-ammended.pdf-7"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> developed by two <a href="Belgium" title="Belgium">Belgian</a> cryptographers, <a href="Joan_Daemen" title="Joan Daemen">Joan Daemen</a> and <a href="Vincent_Rijmen" title="Vincent Rijmen">Vincent Rijmen</a>, who submitted a proposal<sup id="cite_ref-Rijndaelv2_9-0" class="reference"><a href="#cite_note-Rijndaelv2-9"><span class="cite-bracket">[</span>7<span class="cite-bracket">]</span></a></sup> to NIST during the <a href="Advanced_Encryption_Standard_process" title="Advanced Encryption Standard process">AES selection process</a>.<sup id="cite_ref-10" class="reference"><a href="#cite_note-10"><span class="cite-bracket">[</span>8<span class="cite-bracket">]</span></a></sup> Rijndael is a family of ciphers with different <a href="Key_size" title="Key size">key</a> and <a href="Block_size_(cryptography)" title="Block size (cryptography)">block sizes</a>. For AES, NIST selected three members of the Rijndael family, each with a block size of 128 bits, but three different key lengths: 128, 192 and 256 bits.
</p><p>AES has been adopted by the <a href="Federal_government_of_the_United_States" title="Federal government of the United States">U.S. government</a>. It supersedes the <a href="Data_Encryption_Standard" title="Data Encryption Standard">Data Encryption Standard</a> (DES),<sup id="cite_ref-11" class="reference"><a href="#cite_note-11"><span class="cite-bracket">[</span>9<span class="cite-bracket">]</span></a></sup> which was published in 1977. The algorithm described by AES is a <a href="Symmetric-key_algorithm" title="Symmetric-key algorithm">symmetric-key algorithm</a>, meaning the same key is used for both encrypting and decrypting the data.
</p><p>In the United States, AES was announced by the NIST as U.S. <a href="Federal_Information_Processing_Standard" class="mw-redirect" title="Federal Information Processing Standard">FIPS</a> PUB 197 (FIPS 197) on November 26, 2001.<sup id="cite_ref-fips-197_8-1" class="reference"><a href="#cite_note-fips-197-8"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup> This announcement followed a five-year standardization process in which fifteen competing designs were presented and evaluated, before the Rijndael cipher was selected as the most suitable.<sup id="cite_ref-12" class="reference"><a href="#cite_note-12"><span class="cite-bracket">[</span>note 3<span class="cite-bracket">]</span></a></sup>
</p><p>AES is included in the <a href="International_Organization_for_Standardization" title="International Organization for Standardization">ISO</a>/<a href="International_Electrotechnical_Commission" title="International Electrotechnical Commission">IEC</a> <a href="List_of_International_Organization_for_Standardization_standards%2C_18000-19999" class="mw-redirect" title="List of International Organization for Standardization standards, 18000-19999">18033-3</a> standard. AES became effective as a U.S. federal government standard on May 26, 2002, after approval by U.S. <a href="United_States_Secretary_of_Commerce" title="United States Secretary of Commerce">Secretary of Commerce</a> <a href="Donald_Evans" title="Donald Evans">Donald Evans</a>. AES is available in many different encryption packages, and is the first (and only) publicly accessible <a href="Cipher" title="Cipher">cipher</a> approved by the U.S. <a href="National_Security_Agency" title="National Security Agency">National Security Agency</a> (NSA) for <a href="Classified_information" title="Classified information">top secret</a> information when used in an NSA approved cryptographic module.<sup id="cite_ref-13" class="reference"><a href="#cite_note-13"><span class="cite-bracket">[</span>note 4<span class="cite-bracket">]</span></a></sup>
</p>
<meta property="mw:PageProp/toc">
<div class="mw-heading mw-heading2"><h2 id="Definitive_standards">Definitive standards</h2></div>
<p>The Advanced Encryption Standard (AES) is defined in each of:
</p>
<ul><li>FIPS PUB 197: Advanced Encryption Standard (AES)<sup id="cite_ref-fips-197_8-2" class="reference"><a href="#cite_note-fips-197-8"><span class="cite-bracket">[</span>6<span class="cite-bracket">]</span></a></sup></li>
<li>ISO/IEC 18033-3: Block ciphers<sup id="cite_ref-ISO_IEC_AES_14-0" class="reference"><a href="#cite_note-ISO_IEC_AES-14"><span class="cite-bracket">[</span>10<span class="cite-bracket">]</span></a></sup></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Description_of_the_ciphers">Description of the ciphers</h2></div>
<p>AES is based on a design principle known as a <a href="Substitution%E2%80%93permutation_network" title="Substitution–permutation network">substitution–permutation network</a>, and is efficient in both software and hardware.<sup id="cite_ref-15" class="reference"><a href="#cite_note-15"><span class="cite-bracket">[</span>11<span class="cite-bracket">]</span></a></sup> Unlike its predecessor DES, AES does not use a <a href="Feistel_network" class="mw-redirect" title="Feistel network">Feistel network</a>. AES is a variant of Rijndael, with a fixed <a href="Block_size_(cryptography)" title="Block size (cryptography)">block size</a> of 128 <a href="Bit" title="Bit">bits</a>, and a <a href="Key_size" title="Key size">key size</a> of 128, 192, or 256 bits. By contrast, Rijndael <i>per se</i> is specified with block and key sizes that may be any multiple of 32 bits, with a minimum of 128 and a maximum of 256 bits. Most AES calculations are done in a particular <a href="Finite_field_arithmetic" title="Finite field arithmetic">finite field</a>.
</p><p>AES operates on a 4 × 4 <a href="Column-major_order" class="mw-redirect" title="Column-major order">column-major order</a> array of 16 bytes <span class="texhtml"><var style="padding-right: 1px;">b</var><sub>0</sub>,<span style="white-space: nowrap;"> </span><var style="padding-right: 1px;">b</var><sub>1</sub>,<span style="white-space: nowrap;"> </span>...,<span style="white-space: nowrap;"> </span><var style="padding-right: 1px;">b</var><sub>15</sub></span> termed the <i>state</i>:<sup id="cite_ref-16" class="reference"><a href="#cite_note-16"><span class="cite-bracket">[</span>note 5<span class="cite-bracket">]</span></a></sup>
</p>
<dl><dd><dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}b_{0}&amp;b_{4}&amp;b_{8}&amp;b_{12}\\b_{1}&amp;b_{5}&amp;b_{9}&amp;b_{13}\\b_{2}&amp;b_{6}&amp;b_{10}&amp;b_{14}\\b_{3}&amp;b_{7}&amp;b_{11}&amp;b_{15}\end{bmatrix}}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>12</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>5</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>9</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>13</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>6</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>10</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>14</mn>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>7</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>11</mn>
</mrow>
</msub>
</mtd>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>15</mn>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}b_{0}&amp;b_{4}&amp;b_{8}&amp;b_{12}\\b_{1}&amp;b_{5}&amp;b_{9}&amp;b_{13}\\b_{2}&amp;b_{6}&amp;b_{10}&amp;b_{14}\\b_{3}&amp;b_{7}&amp;b_{11}&amp;b_{15}\end{bmatrix}}}</annotation>
</semantics>
</math></span><img src="./63ac3cf2cb47d5a29c1210fca521f9e4e49e39b1.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -5.671ex; width:20.671ex; height:12.509ex;" alt="{\displaystyle {\begin{bmatrix}b_{0}&amp;b_{4}&amp;b_{8}&amp;b_{12}\\b_{1}&amp;b_{5}&amp;b_{9}&amp;b_{13}\\b_{2}&amp;b_{6}&amp;b_{10}&amp;b_{14}\\b_{3}&amp;b_{7}&amp;b_{11}&amp;b_{15}\end{bmatrix}}}" loading="lazy"></span></dd></dl></dd></dl>
<p>The key size used for an AES cipher specifies the number of transformation rounds that convert the input, called the <a href="Plaintext" title="Plaintext">plaintext</a>, into the final output, called the <a href="Ciphertext" title="Ciphertext">ciphertext</a>. The number of rounds are as follows:
</p>
<ul><li>10 rounds for 128-bit keys.</li>
<li>12 rounds for 192-bit keys.</li>
<li>14 rounds for 256-bit keys.</li></ul>
<p>Each round consists of several processing steps, including one that depends on the encryption key itself. A set of reverse rounds are applied to transform ciphertext back into the original plaintext using the same encryption key.
</p>
<div class="mw-heading mw-heading3"><h3 id="High-level_description_of_the_algorithm">High-level description of the algorithm</h3></div>
<ol><li><style data-mw-deduplicate="TemplateStyles:r886049734">
/* start https://en.wikipedia.org/ */


.mw-parser-output .monospaced{font-family:monospace,monospace}


/* end https://en.wikipedia.org/ */
</style><span class="monospaced"> KeyExpansion</span>&nbsp;– round keys are derived from the cipher key using the <a href="AES_key_schedule" title="AES key schedule">AES key schedule</a>. AES requires a separate 128-bit round key block for each round plus one more.</li>
<li>Initial round key addition:
<ol><li><span class="monospaced"> AddRoundKey</span>&nbsp;– each byte of the state is combined with a byte of the round key using <a href="Bitwise_xor" class="mw-redirect" title="Bitwise xor">bitwise xor</a>.</li></ol></li>
<li>9, 11 or 13 rounds:
<ol><li><span class="monospaced"> SubBytes</span>&nbsp;– a <a href="Linear_map" title="Linear map">non-linear</a> substitution step where each byte is replaced with another according to a <a href="Rijndael_S-box" title="Rijndael S-box">lookup table</a>.</li>
<li><span class="monospaced"> ShiftRows</span>&nbsp;– a transposition step where the last three rows of the state are shifted cyclically a certain number of steps.</li>
<li><span class="monospaced"> MixColumns</span>&nbsp;– a linear mixing operation which operates on the columns of the state, combining the four bytes in each column.</li>
<li><span class="monospaced"> AddRoundKey</span></li></ol></li>
<li>Final round (making 10, 12 or 14 rounds in total):
<ol><li><span class="monospaced"> SubBytes</span></li>
<li><span class="monospaced"> ShiftRows</span></li>
<li><span class="monospaced"> AddRoundKey</span></li></ol></li></ol>
<div class="mw-heading mw-heading3"><h3 id="The_SubBytes_step">The <span class="monospaced">SubBytes</span> step</h3></div>
<style data-mw-deduplicate="TemplateStyles:r1236090951">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hatnote{font-style:italic}.mw-parser-output div.hatnote{padding-left:1.6em;margin-bottom:0.5em}.mw-parser-output .hatnote i{font-style:normal}.mw-parser-output .hatnote+link+.hatnote{margin-top:-0.5em}@media print{body.ns-0 .mw-parser-output .hatnote{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Rijndael_S-box" title="Rijndael S-box">Rijndael S-box</a></div>

<p>In the <span class="monospaced"> SubBytes</span> step, each byte <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle a_{i,j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle a_{i,j}}</annotation>
</semantics>
</math></span><img src="./4bb5a346f58c6568306a02596dd318d1b7e6b2c2.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:3.164ex; height:2.343ex;" alt="{\displaystyle a_{i,j}}" loading="lazy"></span> in the <i>state</i> array is replaced with a <span class="monospaced"> SubByte</span> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S(a_{i,j})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>S</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S(a_{i,j})}</annotation>
</semantics>
</math></span><img src="./50d0e565095cc9a2476695df6dca8d0be681cadd.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:6.473ex; height:3.009ex;" alt="{\displaystyle S(a_{i,j})}" loading="lazy"></span> using an 8-bit <a href="Substitution_box" class="mw-redirect" title="Substitution box">substitution box</a>. Before round 0, the <i>state</i> array is simply the plaintext/input. This operation provides the non-linearity in the <a href="Cipher" title="Cipher">cipher</a>. The S-box used is derived from the <a href="Multiplicative_inverse" title="Multiplicative inverse">multiplicative inverse</a> over <span class="texhtml"><a href="Finite_field" title="Finite field">GF</a>(2<sup>8</sup>)</span>, known to have good non-linearity properties. To avoid attacks based on simple algebraic properties, the S-box is constructed by combining the inverse function with an invertible <a href="Affine_transformation" title="Affine transformation">affine transformation</a>. The S-box is also chosen to avoid any fixed points (and so is a <a href="Derangement" title="Derangement">derangement</a>), i.e., <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S(a_{i,j})\neq a_{i,j}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>S</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>≠<!-- ≠ --></mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S(a_{i,j})\neq a_{i,j}}</annotation>
</semantics>
</math></span><img src="./bd9b02fa538b997690791ad5af2048dd3b3185f6.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:12.736ex; height:3.009ex;" alt="{\displaystyle S(a_{i,j})\neq a_{i,j}}" loading="lazy"></span>, and also any opposite fixed points, i.e., <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle S(a_{i,j})\oplus a_{i,j}\neq {\text{FF}}_{16}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>S</mi>
<mo stretchy="false">(</mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo stretchy="false">)</mo>
<mo>⊕<!-- ⊕ --></mo>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mi>i</mi>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
<mo>≠<!-- ≠ --></mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mtext>FF</mtext>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>16</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle S(a_{i,j})\oplus a_{i,j}\neq {\text{FF}}_{16}}</annotation>
</semantics>
</math></span><img src="./57c62d763df50076f35830b85cc23968017e6b94.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -1.005ex; width:20.488ex; height:3.009ex;" alt="{\displaystyle S(a_{i,j})\oplus a_{i,j}\neq {\text{FF}}_{16}}" loading="lazy"></span>.
While performing the decryption, the <span class="monospaced"> InvSubBytes</span> step (the inverse of <span class="monospaced"> SubBytes</span>) is used, which requires first taking the inverse of the affine transformation and then finding the multiplicative inverse.
</p>
<div class="mw-heading mw-heading3"><h3 id="The_ShiftRows_step">The <span class="monospaced">ShiftRows</span> step</h3></div>

<p>The <span class="monospaced"> ShiftRows</span> step operates on the rows of the state; it cyclically shifts the bytes in each row by a certain <a href="Offset_(computer_science)" title="Offset (computer science)">offset</a>. For AES, the first row is left unchanged. Each byte of the second row is shifted one to the left. Similarly, the third and fourth rows are shifted by offsets of two and three respectively.<sup id="cite_ref-17" class="reference"><a href="#cite_note-17"><span class="cite-bracket">[</span>note 6<span class="cite-bracket">]</span></a></sup> In this way, each column of the output state of the <span class="monospaced"> ShiftRows</span> step is composed of bytes from each column of the input state. The importance of this step is to avoid the columns being encrypted independently, in which case AES would degenerate into four independent block ciphers.
</p>
<div class="mw-heading mw-heading3"><h3 id="The_MixColumns_step">The <span class="monospaced">MixColumns</span> step</h3></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="Rijndael_MixColumns" title="Rijndael MixColumns">Rijndael MixColumns</a></div>

<p>In the <span class="monospaced"> MixColumns</span> step, the four bytes of each column of the state are combined using an invertible <a href="Linear_transformation" class="mw-redirect" title="Linear transformation">linear transformation</a>. The <span class="monospaced"> MixColumns</span> function takes four bytes as input and outputs four bytes, where each input byte affects all four output bytes. Together with <span class="monospaced"> ShiftRows</span>, <span class="monospaced"> MixColumns</span> provides <a href="Diffusion_(cryptography)" class="mw-redirect" title="Diffusion (cryptography)">diffusion</a> in the cipher.
</p><p>During this operation, each column is transformed using a fixed matrix (matrix left-multiplied by column gives new value of column in the state):
</p>
<dl><dd><dl><dd><span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {\begin{bmatrix}b_{0,j}\\b_{1,j}\\b_{2,j}\\b_{3,j}\end{bmatrix}}={\begin{bmatrix}2&amp;3&amp;1&amp;1\\1&amp;2&amp;3&amp;1\\1&amp;1&amp;2&amp;3\\3&amp;1&amp;1&amp;2\end{bmatrix}}{\begin{bmatrix}a_{0,j}\\a_{1,j}\\a_{2,j}\\a_{3,j}\end{bmatrix}}\qquad 0\leq j\leq 3}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>b</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mo>=</mo>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>3</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>3</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
<mtd>
<mn>3</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>3</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>2</mn>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mrow>
<mo>[</mo>
<mtable rowspacing="4pt" columnspacing="1em">
<mtr>
<mtd>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>0</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>1</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>a</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
<mo>,</mo>
<mi>j</mi>
</mrow>
</msub>
</mtd>
</mtr>
</mtable>
<mo>]</mo>
</mrow>
</mrow>
<mspace width="2em"></mspace>
<mn>0</mn>
<mo>≤<!-- ≤ --></mo>
<mi>j</mi>
<mo>≤<!-- ≤ --></mo>
<mn>3</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {\begin{bmatrix}b_{0,j}\\b_{1,j}\\b_{2,j}\\b_{3,j}\end{bmatrix}}={\begin{bmatrix}2&amp;3&amp;1&amp;1\\1&amp;2&amp;3&amp;1\\1&amp;1&amp;2&amp;3\\3&amp;1&amp;1&amp;2\end{bmatrix}}{\begin{bmatrix}a_{0,j}\\a_{1,j}\\a_{2,j}\\a_{3,j}\end{bmatrix}}\qquad 0\leq j\leq 3}</annotation>
</semantics>
</math></span><img src="./b35516e14dcf7ed323058752cfbe832f2db5f305.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -6.171ex; width:47.003ex; height:13.509ex;" alt="{\displaystyle {\begin{bmatrix}b_{0,j}\\b_{1,j}\\b_{2,j}\\b_{3,j}\end{bmatrix}}={\begin{bmatrix}2&amp;3&amp;1&amp;1\\1&amp;2&amp;3&amp;1\\1&amp;1&amp;2&amp;3\\3&amp;1&amp;1&amp;2\end{bmatrix}}{\begin{bmatrix}a_{0,j}\\a_{1,j}\\a_{2,j}\\a_{3,j}\end{bmatrix}}\qquad 0\leq j\leq 3}" loading="lazy"></span></dd></dl></dd></dl>
<p>Matrix multiplication is composed of multiplication and addition of the entries. Entries are bytes treated as coefficients of polynomial of order <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x^{7}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>7</mn>
</mrow>
</msup>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x^{7}}</annotation>
</semantics>
</math></span><img src="./576da9c03f37ada9c8ea32bd5b3b6f1a99cb3665.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:2.384ex; height:2.676ex;" alt="{\displaystyle x^{7}}" loading="lazy"></span>. Addition is simply XOR. Multiplication is modulo irreducible polynomial <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle x^{8}+x^{4}+x^{3}+x+1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msup>
<mo>+</mo>
<msup>
<mi>x</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
<mo>+</mo>
<mi>x</mi>
<mo>+</mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle x^{8}+x^{4}+x^{3}+x+1}</annotation>
</semantics>
</math></span><img src="./657ccba0967614d3c63fdb74a86c5eff0b85a2c7.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:21.005ex; height:2.843ex;" alt="{\displaystyle x^{8}+x^{4}+x^{3}+x+1}" loading="lazy"></span>. If processed bit by bit, then, after shifting, a conditional <a href="Exclusive_or" title="Exclusive or">XOR</a> with 1B<sub>16</sub> should be performed if the shifted value is larger than FF<sub>16</sub> (overflow must be corrected by subtraction of generating polynomial). These are special cases of the usual multiplication in <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \operatorname {GF} (2^{8})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>GF</mi>
<mo>⁡<!-- ⁡ --></mo>
<mo stretchy="false">(</mo>
<msup>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \operatorname {GF} (2^{8})}</annotation>
</semantics>
</math></span><img src="./5aa8e700810339b6e5bfd057fe9652c6d6ad2cce.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.368ex; height:3.176ex;" alt="{\displaystyle \operatorname {GF} (2^{8})}" loading="lazy"></span>.
</p><p>In more general sense, each column is treated as a polynomial over <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \operatorname {GF} (2^{8})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>GF</mi>
<mo>⁡<!-- ⁡ --></mo>
<mo stretchy="false">(</mo>
<msup>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \operatorname {GF} (2^{8})}</annotation>
</semantics>
</math></span><img src="./5aa8e700810339b6e5bfd057fe9652c6d6ad2cce.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.368ex; height:3.176ex;" alt="{\displaystyle \operatorname {GF} (2^{8})}" loading="lazy"></span> and is then multiplied modulo <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle {01}_{16}\cdot z^{4}+{01}_{16}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mn>01</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>16</mn>
</mrow>
</msub>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>z</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>4</mn>
</mrow>
</msup>
<mo>+</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mn>01</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>16</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle {01}_{16}\cdot z^{4}+{01}_{16}}</annotation>
</semantics>
</math></span><img src="./f7b153eaf4ce7afb5bf316e641a7437ee0c57b03.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.671ex; width:15.066ex; height:3.009ex;" alt="{\displaystyle {01}_{16}\cdot z^{4}+{01}_{16}}" loading="lazy"></span> with a fixed polynomial <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle c(z)={03}_{16}\cdot z^{3}+{01}_{16}\cdot z^{2}+{01}_{16}\cdot z+{02}_{16}}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>c</mi>
<mo stretchy="false">(</mo>
<mi>z</mi>
<mo stretchy="false">)</mo>
<mo>=</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mn>03</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>16</mn>
</mrow>
</msub>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>z</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>3</mn>
</mrow>
</msup>
<mo>+</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mn>01</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>16</mn>
</mrow>
</msub>
<mo>⋅<!-- ⋅ --></mo>
<msup>
<mi>z</mi>
<mrow class="MJX-TeXAtom-ORD">
<mn>2</mn>
</mrow>
</msup>
<mo>+</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mn>01</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>16</mn>
</mrow>
</msub>
<mo>⋅<!-- ⋅ --></mo>
<mi>z</mi>
<mo>+</mo>
<msub>
<mrow class="MJX-TeXAtom-ORD">
<mn>02</mn>
</mrow>
<mrow class="MJX-TeXAtom-ORD">
<mn>16</mn>
</mrow>
</msub>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle c(z)={03}_{16}\cdot z^{3}+{01}_{16}\cdot z^{2}+{01}_{16}\cdot z+{02}_{16}}</annotation>
</semantics>
</math></span><img src="./1b310c6eccd43b6302668b5af181dadaebfdddd0.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:42.743ex; height:3.176ex;" alt="{\displaystyle c(z)={03}_{16}\cdot z^{3}+{01}_{16}\cdot z^{2}+{01}_{16}\cdot z+{02}_{16}}" loading="lazy"></span>. The coefficients are displayed in their <a href="Hexadecimal" title="Hexadecimal">hexadecimal</a> equivalent of the binary representation of bit polynomials from <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \operatorname {GF} (2)[x]}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>GF</mi>
<mo>⁡<!-- ⁡ --></mo>
<mo stretchy="false">(</mo>
<mn>2</mn>
<mo stretchy="false">)</mo>
<mo stretchy="false">[</mo>
<mi>x</mi>
<mo stretchy="false">]</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \operatorname {GF} (2)[x]}</annotation>
</semantics>
</math></span><img src="./6334bd0b6ddc3a60f9d7590f71c74e11f780b80f.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:8.937ex; height:2.843ex;" alt="{\displaystyle \operatorname {GF} (2)[x]}" loading="lazy"></span>. The <span class="monospaced"> MixColumns</span> step can also be viewed as a multiplication by the shown particular <a href="MDS_matrix" title="MDS matrix">MDS matrix</a> in the <a href="Finite_field" title="Finite field">finite field</a> <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle \operatorname {GF} (2^{8})}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>GF</mi>
<mo>⁡<!-- ⁡ --></mo>
<mo stretchy="false">(</mo>
<msup>
<mn>2</mn>
<mrow class="MJX-TeXAtom-ORD">
<mn>8</mn>
</mrow>
</msup>
<mo stretchy="false">)</mo>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle \operatorname {GF} (2^{8})}</annotation>
</semantics>
</math></span><img src="./5aa8e700810339b6e5bfd057fe9652c6d6ad2cce.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.838ex; width:7.368ex; height:3.176ex;" alt="{\displaystyle \operatorname {GF} (2^{8})}" loading="lazy"></span>. This process is described further in the article <a href="Rijndael_MixColumns" title="Rijndael MixColumns">Rijndael MixColumns</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="The_AddRoundKey">The <span class="monospaced">AddRoundKey</span></h3></div>

<p>In the <span class="monospaced"> AddRoundKey</span> step, the subkey is combined with the state. For each round, a subkey is derived from the main <a href="Key_(cryptography)" title="Key (cryptography)">key</a> using <a href="Rijndael_key_schedule" class="mw-redirect" title="Rijndael key schedule">Rijndael's key schedule</a>; each subkey is the same size as the state. The subkey is added by combining of the state with the corresponding byte of the subkey using bitwise <a href="Exclusive_or" title="Exclusive or">XOR</a>.
</p>
<div class="mw-heading mw-heading3"><h3 id="Optimization_of_the_cipher">Optimization of the cipher</h3></div>
<p>On systems with 32-bit or larger words, it is possible to speed up execution of this cipher by combining the <span class="monospaced"> SubBytes</span> and <span class="monospaced"> ShiftRows</span> steps with the <span class="monospaced"> MixColumns</span> step by transforming them into a sequence of table lookups. This requires four 256-entry 32-bit tables (together occupying 4096 bytes). A round can then be performed with 16 table lookup operations and 12 32-bit exclusive-or operations, followed by four 32-bit exclusive-or operations in the <span class="monospaced"> AddRoundKey</span> step.<sup id="cite_ref-18" class="reference"><a href="#cite_note-18"><span class="cite-bracket">[</span>12<span class="cite-bracket">]</span></a></sup> Alternatively, the table lookup operation can be performed with a single 256-entry 32-bit table (occupying 1024 bytes) followed by circular rotation operations.
</p><p>Using a byte-oriented approach, it is possible to combine the <span class="monospaced"> SubBytes</span>, <span class="monospaced"> ShiftRows</span>, and <span class="monospaced"> MixColumns</span> steps into a single round operation.<sup id="cite_ref-19" class="reference"><a href="#cite_note-19"><span class="cite-bracket">[</span>13<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Security">Security</h2></div>
<p>The <a href="National_Security_Agency" title="National Security Agency">National Security Agency</a> (NSA) reviewed all the AES finalists, including Rijndael, and stated that all of them were secure enough for U.S. Government non-classified data. In June 2003, the U.S. Government announced that AES could be used to protect <a href="Classified_information" title="Classified information">classified information</a>:
</p>
<blockquote><p>The design and strength of all key lengths of the AES algorithm (i.e., 128, 192 and 256) are sufficient to protect classified information up to the SECRET level. TOP SECRET information will require use of either the 192 or 256 key lengths. The implementation of AES in products intended to protect national security systems and/or information must be reviewed and certified by NSA prior to their acquisition and use.<sup id="cite_ref-20" class="reference"><a href="#cite_note-20"><span class="cite-bracket">[</span>14<span class="cite-bracket">]</span></a></sup></p></blockquote>
<p>AES has 10 rounds for 128-bit keys, 12 rounds for 192-bit keys, and 14 rounds for 256-bit keys.
</p>
<div class="mw-heading mw-heading3"><h3 id="Known_attacks">Known attacks</h3></div>
<p>For cryptographers, a <a href="Cryptanalysis" title="Cryptanalysis">cryptographic</a> "break" is anything faster than a <a href="Brute-force_attack" title="Brute-force attack">brute-force attack</a><span style="visibility:hidden; color:transparent; padding-left:2px">‍</span>—<span class="nowrap">  </span>i.e., performing one trial decryption for each possible key in sequence <style data-mw-deduplicate="TemplateStyles:r1033199720">
/* start https://en.wikipedia.org/ */


.mw-parser-output div.crossreference{padding-left:0}


/* end https://en.wikipedia.org/ */
</style><span role="note" class="hatnote navigation-not-searchable crossreference">(see <a href="Cryptanalysis#Computational_resources_required" title="Cryptanalysis">Cryptanalysis §&nbsp;Computational resources required</a>)</span>. A break can thus include results that are infeasible with current technology. Despite being impractical, theoretical breaks can sometimes provide insight into vulnerability patterns. The largest successful publicly known brute-force attack against a widely implemented block-cipher encryption algorithm was against a 64-bit <a href="RC5" title="RC5">RC5</a> key by <a href="Distributed.net" title="Distributed.net">distributed.net</a> in 2006.<sup id="cite_ref-ZD20060430_21-0" class="reference"><a href="#cite_note-ZD20060430-21"><span class="cite-bracket">[</span>15<span class="cite-bracket">]</span></a></sup>
</p><p>The key space increases by a factor of 2 for each additional bit of key length, and if every possible value of the key is equiprobable; this translates into a doubling of the average brute-force key search time with every additional bit of key length. This implies that the effort of a brute-force search increases exponentially with key length. Key length in itself does not imply security against attacks, since there are ciphers with very long keys that have been found to be vulnerable.
</p><p>AES has a fairly simple algebraic framework.<sup id="cite_ref-22" class="reference"><a href="#cite_note-22"><span class="cite-bracket">[</span>16<span class="cite-bracket">]</span></a></sup> In 2002, a theoretical attack, named the "<a href="XSL_attack" title="XSL attack">XSL attack</a>", was announced by <a href="Nicolas_Courtois" title="Nicolas Courtois">Nicolas Courtois</a> and <a href="Josef_Pieprzyk" title="Josef Pieprzyk">Josef Pieprzyk</a>, purporting to show a weakness in the AES algorithm, partially due to the low complexity of its nonlinear components.<sup id="cite_ref-23" class="reference"><a href="#cite_note-23"><span class="cite-bracket">[</span>17<span class="cite-bracket">]</span></a></sup> Since then, other papers have shown that the attack, as originally presented, is unworkable; see <a href="XSL_attack#Application_to_block_ciphers" title="XSL attack">XSL attack on block ciphers</a>.
</p><p>During the AES selection process, developers of competing algorithms wrote of Rijndael's algorithm "we are concerned about [its] use ... in security-critical applications."<sup id="cite_ref-rijndael-algebraic_24-0" class="reference"><a href="#cite_note-rijndael-algebraic-24"><span class="cite-bracket">[</span>18<span class="cite-bracket">]</span></a></sup> In October 2000, however, at the end of the AES selection process, <a href="Bruce_Schneier" title="Bruce Schneier">Bruce Schneier</a>, a developer of the competing algorithm <a href="Twofish" title="Twofish">Twofish</a>, wrote that while he thought successful academic attacks on Rijndael would be developed someday, he "did not believe that anyone will ever discover an attack that will allow someone to read Rijndael traffic."<sup id="cite_ref-25" class="reference"><a href="#cite_note-25"><span class="cite-bracket">[</span>19<span class="cite-bracket">]</span></a></sup>
</p><p>By 2006, the best known attacks were on 7 rounds for 128-bit keys, 8 rounds for 192-bit keys, and 9 rounds for 256-bit keys.<sup id="cite_ref-improved_26-0" class="reference"><a href="#cite_note-improved-26"><span class="cite-bracket">[</span>20<span class="cite-bracket">]</span></a></sup>
</p><p>Until May 2009, the only successful published attacks against the full AES were <a href="Side-channel_attack" title="Side-channel attack">side-channel attacks</a> on some specific implementations. In 2009, a new <a href="Related-key_attack" title="Related-key attack">related-key attack</a> was discovered that exploits the simplicity of AES's key schedule and has a complexity of 2<sup>119</sup>. In December 2009 it was improved to 2<sup>99.5</sup>.<sup id="cite_ref-relkey_4-1" class="reference"><a href="#cite_note-relkey-4"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> This is a follow-up to an attack discovered earlier in 2009 by <a href="Alex_Biryukov" title="Alex Biryukov">Alex Biryukov</a>, <a href="Dmitry_Khovratovich" title="Dmitry Khovratovich">Dmitry Khovratovich</a>, and Ivica Nikolić, with a complexity of 2<sup>96</sup> for one out of every 2<sup>35</sup> keys.<sup id="cite_ref-27" class="reference"><a href="#cite_note-27"><span class="cite-bracket">[</span>21<span class="cite-bracket">]</span></a></sup> However, related-key attacks are not of concern in any properly designed cryptographic protocol, as a properly designed protocol (i.e., implementational software) will take care not to allow related keys, essentially by <a href="Related-key_attack#Preventing_related-key_attacks" title="Related-key attack">constraining</a> an attacker's means of selecting keys for relatedness.
</p><p>Another attack was blogged by Bruce Schneier<sup id="cite_ref-Bruce_Schneier_5-1" class="reference"><a href="#cite_note-Bruce_Schneier-5"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
on July 30, 2009, and released as a <a href="Preprint" title="Preprint">preprint</a><sup id="cite_ref-28" class="reference"><a href="#cite_note-28"><span class="cite-bracket">[</span>22<span class="cite-bracket">]</span></a></sup>
on August 3, 2009. This new attack, by Alex Biryukov, <a href="Orr_Dunkelman" title="Orr Dunkelman">Orr Dunkelman</a>, Nathan Keller, Dmitry Khovratovich, and <a href="Adi_Shamir" title="Adi Shamir">Adi Shamir</a>, is against AES-256 that uses only two related keys and 2<sup>39</sup> time to recover the complete 256-bit key of a 9-round version, or 2<sup>45</sup> time for a 10-round version with a stronger type of related subkey attack, or 2<sup>70</sup> time for an 11-round version. 256-bit AES uses 14 rounds, so these attacks are not effective against full AES.
</p><p>The practicality of these attacks with stronger related keys has been criticized,<sup id="cite_ref-29" class="reference"><a href="#cite_note-29"><span class="cite-bracket">[</span>23<span class="cite-bracket">]</span></a></sup> for instance, by the paper on chosen-key-relations-in-the-middle attacks on AES-128 authored by Vincent Rijmen in 2010.<sup id="cite_ref-30" class="reference"><a href="#cite_note-30"><span class="cite-bracket">[</span>24<span class="cite-bracket">]</span></a></sup>
</p><p>In November 2009, the first <a href="Known-key_distinguishing_attack" title="Known-key distinguishing attack">known-key distinguishing attack</a> against a reduced 8-round version of AES-128 was released as a preprint.<sup id="cite_ref-31" class="reference"><a href="#cite_note-31"><span class="cite-bracket">[</span>25<span class="cite-bracket">]</span></a></sup>
This known-key distinguishing attack is an improvement of the rebound, or the start-from-the-middle attack, against AES-like permutations, which view two consecutive rounds of permutation as the application of a so-called Super-S-box. It works on the 8-round version of AES-128, with a time complexity of 2<sup>48</sup>, and a memory complexity of 2<sup>32</sup>. 128-bit AES uses 10 rounds, so this attack is not effective against full AES-128.
</p><p>The first <a href="Key-recovery_attack" title="Key-recovery attack">key-recovery attacks</a> on full AES were by Andrey Bogdanov, Dmitry Khovratovich, and Christian Rechberger, and were published in 2011.<sup id="cite_ref-32" class="reference"><a href="#cite_note-32"><span class="cite-bracket">[</span>26<span class="cite-bracket">]</span></a></sup> The attack is a <a href="Biclique_attack" title="Biclique attack">biclique attack</a> and is faster than brute force by a factor of about four. It requires 2<sup>126.2</sup> operations to recover an AES-128 key. For AES-192 and AES-256, 2<sup>190.2</sup> and 2<sup>254.6</sup> operations are needed, respectively. This result has been further improved to 2<sup>126.0</sup> for AES-128, 2<sup>189.9</sup> for AES-192, and 2<sup>254.3</sup> for AES-256 by Biaoshuai Tao and Hongjun Wu in a 2015 paper,<sup id="cite_ref-:0_33-0" class="reference"><a href="#cite_note-:0-33"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> which are the current best results in key recovery attack against AES.
</p><p>This is a very small gain, as a 126-bit key (instead of 128 bits) would still take billions of years to brute force on current and foreseeable hardware. Also, the authors calculate the best attack using their technique on AES with a 128-bit key requires storing 2<sup>88</sup> bits of data. That works out to about 38 trillion terabytes of data, which was more than all the data stored on all the computers on the planet in 2016.<sup id="cite_ref-34" class="reference"><a href="#cite_note-34"><span class="cite-bracket">[</span>28<span class="cite-bracket">]</span></a></sup> A paper in 2015 later improved the space complexity to 2<sup>56</sup> bits,<sup id="cite_ref-:0_33-1" class="reference"><a href="#cite_note-:0-33"><span class="cite-bracket">[</span>27<span class="cite-bracket">]</span></a></sup> which is 9007 terabytes (while still keeping a time complexity of approximately 2<sup>126</sup>).
</p><p>According to the <a href="Edward_Snowden#Surveillance_disclosures" title="Edward Snowden">Snowden documents</a>, the NSA is doing research on whether a cryptographic attack based on <a href="Kendall_tau_rank_correlation_coefficient" class="mw-redirect" title="Kendall tau rank correlation coefficient">tau statistic</a> may help to break AES.<sup id="cite_ref-35" class="reference"><a href="#cite_note-35"><span class="cite-bracket">[</span>29<span class="cite-bracket">]</span></a></sup>
</p><p>At present, there is no known practical attack that would allow someone without knowledge of the key to read data encrypted by AES when correctly implemented.
</p>
<div class="mw-heading mw-heading3"><h3 id="Side-channel_attacks">Side-channel attacks</h3></div>
<p><a href="Side-channel_attack" title="Side-channel attack">Side-channel attacks</a> do not attack the cipher as a <a href="Black_box" title="Black box">black box</a>, and thus are not related to cipher security as defined in the classical context, but are important in practice. They attack implementations of the cipher on hardware or software systems that inadvertently leak data. There are several such known attacks on various implementations of AES.
</p><p>In April 2005, <a href="Daniel_J._Bernstein" title="Daniel J. Bernstein">D.&nbsp;J. Bernstein</a> announced a cache-timing attack that he used to break a custom server that used <a href="OpenSSL" title="OpenSSL">OpenSSL</a>'s AES encryption.<sup id="cite_ref-bernstein_timing_36-0" class="reference"><a href="#cite_note-bernstein_timing-36"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup> The attack required over 200 million chosen plaintexts.<sup id="cite_ref-37" class="reference"><a href="#cite_note-37"><span class="cite-bracket">[</span>31<span class="cite-bracket">]</span></a></sup> The custom server was designed to give out as much timing information as possible (the server reports back the number of machine cycles taken by the encryption operation). However, as Bernstein pointed out, "reducing the precision of the server's timestamps, or eliminating them from the server's responses, does not stop the attack: the client simply uses round-trip timings based on its local clock, and compensates for the increased noise by averaging over a larger number of samples."<sup id="cite_ref-bernstein_timing_36-1" class="reference"><a href="#cite_note-bernstein_timing-36"><span class="cite-bracket">[</span>30<span class="cite-bracket">]</span></a></sup>
</p><p>In October 2005, Dag Arne Osvik, <a href="Adi_Shamir" title="Adi Shamir">Adi Shamir</a> and <a href="Eran_Tromer" title="Eran Tromer">Eran Tromer</a> presented a paper demonstrating several cache-timing attacks against the implementations in AES found in OpenSSL and Linux's <code>dm-crypt</code> partition encryption function.<sup id="cite_ref-38" class="reference"><a href="#cite_note-38"><span class="cite-bracket">[</span>32<span class="cite-bracket">]</span></a></sup> One attack was able to obtain an entire AES key after only 800&nbsp;operations triggering encryptions, in a total of 65&nbsp;milliseconds. This attack requires the attacker to be able to run programs on the same system or platform that is performing AES.
</p><p>In December 2009 an attack on some hardware implementations was published that used <a href="Differential_fault_analysis" title="Differential fault analysis">differential fault analysis</a> and allows recovery of a key with a complexity of 2<sup>32</sup>.<sup id="cite_ref-39" class="reference"><a href="#cite_note-39"><span class="cite-bracket">[</span>33<span class="cite-bracket">]</span></a></sup>
</p><p>In November 2010 Endre Bangerter, David Gullasch and Stephan Krenn published a paper which described a practical approach to a "near real time" recovery of secret keys from AES-128 without the need for either cipher text or plaintext. The approach also works on AES-128 implementations that use compression tables, such as OpenSSL.<sup id="cite_ref-40" class="reference"><a href="#cite_note-40"><span class="cite-bracket">[</span>34<span class="cite-bracket">]</span></a></sup> Like some earlier attacks, this one requires the ability to run unprivileged code on the system performing the AES encryption, which may be achieved by malware infection far more easily than commandeering the root account.<sup id="cite_ref-41" class="reference"><a href="#cite_note-41"><span class="cite-bracket">[</span>35<span class="cite-bracket">]</span></a></sup>
</p><p>In March 2016, C. Ashokkumar, Ravi Prakash Giri and Bernard Menezes presented a side-channel attack on AES implementations that can recover the complete 128-bit AES key in just 6–7 blocks of plaintext/ciphertext, which is a substantial improvement over previous works that require between 100 and a million encryptions.<sup id="cite_ref-42" class="reference"><a href="#cite_note-42"><span class="cite-bracket">[</span>36<span class="cite-bracket">]</span></a></sup> The proposed attack requires standard user privilege and key-retrieval algorithms run under a minute.
</p><p>Many modern CPUs have built-in <a href="AES_instruction_set" title="AES instruction set">hardware instructions for AES</a>, which protect against timing-related side-channel attacks.<sup id="cite_ref-43" class="reference"><a href="#cite_note-43"><span class="cite-bracket">[</span>37<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-44" class="reference"><a href="#cite_note-44"><span class="cite-bracket">[</span>38<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading3"><h3 id="Quantum_attacks">Quantum attacks</h3></div>
<p>AES-256 is considered to be <a href="Post-quantum_cryptography" title="Post-quantum cryptography">quantum resistant</a>, as it has similar quantum resistance to AES-128's resistance against traditional, non-quantum, attacks at 128 <a href="Bits_of_security" class="mw-redirect" title="Bits of security">bits of security</a>. AES-192 and AES-128 are not considered quantum resistant due to their smaller key sizes. AES-192 has a strength of 96 bits against quantum attacks and AES-128 has 64 bits of strength against quantum attacks, making them both insecure.<sup id="cite_ref-45" class="reference"><a href="#cite_note-45"><span class="cite-bracket">[</span>39<span class="cite-bracket">]</span></a></sup><sup id="cite_ref-46" class="reference"><a href="#cite_note-46"><span class="cite-bracket">[</span>40<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="NIST/CSEC_validation">NIST/CSEC validation</h2></div>
<p>The <a href="CMVP" class="mw-redirect" title="CMVP">Cryptographic Module Validation Program</a> (CMVP) is operated jointly by the United States Government's <a href="National_Institute_of_Standards_and_Technology" title="National Institute of Standards and Technology">National Institute of Standards and Technology</a> (NIST) Computer Security Division and the <a href="Communications_Security_Establishment" title="Communications Security Establishment">Communications Security Establishment</a> (CSE) of the Government of Canada. The use of cryptographic modules validated to NIST <a href="FIPS_140-2" title="FIPS 140-2">FIPS 140-2</a> is required by the United States Government for encryption of all data that has a classification of <a href="Sensitive_but_Unclassified" class="mw-redirect" title="Sensitive but Unclassified">Sensitive but Unclassified</a> (SBU) or above. From NSTISSP #11, National Policy Governing the Acquisition of Information Assurance: "Encryption products for protecting classified information will be certified by NSA, and encryption products intended for protecting sensitive information will be certified in accordance with NIST FIPS 140-2."<sup id="cite_ref-cnss.gov_47-0" class="reference"><a href="#cite_note-cnss.gov-47"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup>
</p><p>The Government of Canada also recommends the use of <a href="FIPS_140" title="FIPS 140">FIPS 140</a> validated cryptographic modules in unclassified applications of its departments.
</p><p>Although NIST publication 197 ("FIPS 197") is the unique document that covers the AES algorithm, vendors typically approach the CMVP under FIPS 140 and ask to have several algorithms (such as <a href="Triple_DES" title="Triple DES">Triple&nbsp;DES</a> or <a href="SHA1" class="mw-redirect" title="SHA1">SHA1</a>) validated at the same time. Therefore, it is rare to find cryptographic modules that are uniquely FIPS 197 validated and NIST itself does not generally take the time to list FIPS 197 validated modules separately on its public web site. Instead, FIPS 197 validation is typically just listed as an "FIPS approved: AES" notation (with a specific FIPS 197 certificate number) in the current list of FIPS 140 validated cryptographic modules.
</p><p>The Cryptographic Algorithm Validation Program (CAVP)<sup id="cite_ref-48" class="reference"><a href="#cite_note-48"><span class="cite-bracket">[</span>42<span class="cite-bracket">]</span></a></sup> allows for independent validation of the correct implementation of the AES algorithm. Successful validation results in being listed on the NIST validations page.<sup id="cite_ref-49" class="reference"><a href="#cite_note-49"><span class="cite-bracket">[</span>43<span class="cite-bracket">]</span></a></sup> This testing is a pre-requisite for the FIPS 140-2 module validation. However, successful CAVP validation in no way implies that the cryptographic module implementing the algorithm is secure. A cryptographic module lacking FIPS 140-2 validation or specific approval by the NSA is not deemed secure by the US Government and cannot be used to protect government data.<sup id="cite_ref-cnss.gov_47-1" class="reference"><a href="#cite_note-cnss.gov-47"><span class="cite-bracket">[</span>41<span class="cite-bracket">]</span></a></sup>
</p><p>FIPS 140-2 validation is challenging to achieve both technically and fiscally.<sup id="cite_ref-openssl_50-0" class="reference"><a href="#cite_note-openssl-50"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup> There is a standardized battery of tests as well as an element of source code review that must be passed over a period of a few weeks. The cost to perform these tests through an approved laboratory can be significant (e.g., well over <a href="United_States_dollar" title="United States dollar">US$</a>30,000)<sup id="cite_ref-openssl_50-1" class="reference"><a href="#cite_note-openssl-50"><span class="cite-bracket">[</span>44<span class="cite-bracket">]</span></a></sup> and does not include the time it takes to write, test, document and prepare a module for validation. After validation, modules must be re-submitted and re-evaluated if they are changed in any way. This can vary from simple paperwork updates if the security functionality did not change to a more substantial set of re-testing if the security functionality was impacted by the change.
</p>
<div class="mw-heading mw-heading2"><h2 id="Test_vectors">Test vectors</h2></div>
<p>Test vectors are a set of known ciphers for a given input and key. NIST distributes the reference of AES test vectors as AES Known Answer Test (KAT) Vectors.<sup id="cite_ref-51" class="reference"><a href="#cite_note-51"><span class="cite-bracket">[</span>note 7<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Performance">Performance</h2></div>
<p>High speed and low RAM requirements were some of the criteria of the AES selection process. As the chosen algorithm, AES performed well on a wide variety of hardware, from 8-bit <a href="Smart_card" title="Smart card">smart cards</a> to high-performance computers.
</p><p>On a <a href="Pentium_Pro" title="Pentium Pro">Pentium Pro</a>, AES encryption requires 18 clock cycles per byte (cpb),<sup id="cite_ref-52" class="reference"><a href="#cite_note-52"><span class="cite-bracket">[</span>45<span class="cite-bracket">]</span></a></sup> equivalent to a throughput of about 11&nbsp;MiB/s for a 200&nbsp;MHz processor.
</p><p>On <a href="Intel_Core" title="Intel Core">Intel Core</a> and <a href="AMD_Ryzen" class="mw-redirect" title="AMD Ryzen">AMD Ryzen</a> CPUs supporting <a href="AES_instruction_set" title="AES instruction set">AES-NI instruction set</a> extensions, throughput can be multiple GiB/s.<sup id="cite_ref-53" class="reference"><a href="#cite_note-53"><span class="cite-bracket">[</span>46<span class="cite-bracket">]</span></a></sup> On an Intel <a href="Westmere_(microarchitecture)" title="Westmere (microarchitecture)">Westmere</a> CPU, AES encryption using AES-NI takes about 1.3 cpb for AES-128 and 1.8 cpb for AES-256.<sup id="cite_ref-54" class="reference"><a href="#cite_note-54"><span class="cite-bracket">[</span>47<span class="cite-bracket">]</span></a></sup>
</p>
<div class="mw-heading mw-heading2"><h2 id="Implementations">Implementations</h2></div>
<div role="note" class="hatnote navigation-not-searchable">Main article: <a href="AES_implementations" title="AES implementations">AES implementations</a></div>
<div class="mw-heading mw-heading2"><h2 id="See_also">See also</h2></div>
<ul><li><a href="Block_cipher_mode_of_operation" title="Block cipher mode of operation">AES modes of operation</a></li>
<li><a href="Disk_encryption" title="Disk encryption">Disk encryption</a></li>
<li><a href="Whirlpool_(hash_function)" title="Whirlpool (hash function)">Whirlpool</a> – hash function created by Vincent Rijmen and Paulo S. L. M. Barreto</li>
<li><a href="List_of_free_and_open-source_software_packages" title="List of free and open-source software packages">List of free and open-source software packages</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Notes">Notes</h2></div>
<div class="mw-references-wrap"><ol class="references">
<li id="cite_note-keysize-1"><span class="mw-cite-backlink"><b><a href="#cite_ref-keysize_1-0">^</a></b></span> <span class="reference-text">Key sizes of 128, 160, 192, 224, and 256 bits are supported by the Rijndael algorithm, but only the 128, 192, and 256-bit key sizes are specified in the AES standard.</span>
</li>
<li id="cite_note-blocksize-2"><span class="mw-cite-backlink"><b><a href="#cite_ref-blocksize_2-0">^</a></b></span> <span class="reference-text">Block sizes of 128, 160, 192, 224, and 256 bits are supported by the Rijndael algorithm for each key size, but only the 128-bit block size is specified in the AES standard.</span>
</li>
<li id="cite_note-12"><span class="mw-cite-backlink"><b><a href="#cite_ref-12">^</a></b></span> <span class="reference-text">See <a href="Advanced_Encryption_Standard_process" title="Advanced Encryption Standard process">Advanced Encryption Standard process</a> for more details.</span>
</li>
<li id="cite_note-13"><span class="mw-cite-backlink"><b><a href="#cite_ref-13">^</a></b></span> <span class="reference-text">See <a class="mw-selflink-fragment" href="#Security">Security of AES</a> below.</span>
</li>
<li id="cite_note-16"><span class="mw-cite-backlink"><b><a href="#cite_ref-16">^</a></b></span> <span class="reference-text">Large-block variants of Rijndael use an array with additional columns, but always four rows.</span>
</li>
<li id="cite_note-17"><span class="mw-cite-backlink"><b><a href="#cite_ref-17">^</a></b></span> <span class="reference-text">Rijndael variants with a larger block size have slightly different offsets. For blocks of sizes 128 bits and 192 bits, the shifting pattern is the same. Row <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n}</annotation>
</semantics>
</math></span><img src="./a601995d55609f2d9f5e233e36fbe9ea26011b3b.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.338ex; width:1.395ex; height:1.676ex;" alt="{\displaystyle n}" loading="lazy"></span> is shifted left circular by <span class="mwe-math-element mwe-math-element-inline"><span class="mwe-math-mathml-inline mwe-math-mathml-a11y" style="display: none;"><math xmlns="http://www.w3.org/1998/Math/MathML" alttext="{\displaystyle n-1}">
<semantics>
<mrow class="MJX-TeXAtom-ORD">
<mstyle displaystyle="true" scriptlevel="0">
<mi>n</mi>
<mo>−<!-- − --></mo>
<mn>1</mn>
</mstyle>
</mrow>
<annotation encoding="application/x-tex">{\displaystyle n-1}</annotation>
</semantics>
</math></span><img src="./fbd0b0f32b28f51962943ee9ede4fb34198a2521.svg" class="mwe-math-fallback-image-inline mw-invert skin-invert" aria-hidden="true" style="vertical-align: -0.505ex; width:5.398ex; height:2.343ex;" alt="{\displaystyle n-1}" loading="lazy"></span> bytes. For a 256-bit block, the first row is unchanged and the shifting for the second, third and fourth row is 1 byte, 3 bytes and 4 bytes respectively—this change only applies for the Rijndael cipher when used with a 256-bit block, as AES does not use 256-bit blocks.</span>
</li>
<li id="cite_note-51"><span class="mw-cite-backlink"><b><a href="#cite_ref-51">^</a></b></span> <span class="reference-text">The AES Known Answer Test (KAT) Vectors are available in Zip format within the NIST site <a rel="nofollow" class="external text" href="http://csrc.nist.gov/groups/STM/cavp/documents/aes/KAT_AES.zip">here</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20091023001419/http://csrc.nist.gov/groups/STM/cavp/documents/aes/KAT_AES.zip">Archived</a> 2009-10-23 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a></span>
</li>
</ol></div>
<div class="mw-heading mw-heading2"><h2 id="References">References</h2></div>
<style data-mw-deduplicate="TemplateStyles:r1239543626">
/* start https://en.wikipedia.org/ */


.mw-parser-output .reflist{margin-bottom:0.5em;list-style-type:decimal}@media screen{.mw-parser-output .reflist{font-size:90%}}.mw-parser-output .reflist .references{font-size:100%;margin-bottom:0;list-style-type:inherit}.mw-parser-output .reflist-columns-2{column-width:30em}.mw-parser-output .reflist-columns-3{column-width:25em}.mw-parser-output .reflist-columns{margin-top:0.3em}.mw-parser-output .reflist-columns ol{margin-top:0}.mw-parser-output .reflist-columns li{page-break-inside:avoid;break-inside:avoid-column}.mw-parser-output .reflist-upper-alpha{list-style-type:upper-alpha}.mw-parser-output .reflist-upper-roman{list-style-type:upper-roman}.mw-parser-output .reflist-lower-alpha{list-style-type:lower-alpha}.mw-parser-output .reflist-lower-greek{list-style-type:lower-greek}.mw-parser-output .reflist-lower-roman{list-style-type:lower-roman}


/* end https://en.wikipedia.org/ */
</style><div class="reflist">
<div class="mw-references-wrap mw-references-columns"><ol class="references">
<li id="cite_note-aesbc-3"><span class="mw-cite-backlink"><b><a href="#cite_ref-aesbc_3-0">^</a></b></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r1238218222">
/* start https://en.wikipedia.org/ */


.mw-parser-output cite.citation{font-style:inherit;word-wrap:break-word}.mw-parser-output .citation q{quotes:"\"""\"""'""'"}.mw-parser-output .citation:target{background-color:rgba(0,127,255,0.133)}.mw-parser-output .id-lock-free.id-lock-free a{background:url("./mw/Lock-green.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-limited.id-lock-limited a,.mw-parser-output .id-lock-registration.id-lock-registration a{background:url("./mw/Lock-gray-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .id-lock-subscription.id-lock-subscription a{background:url("./mw/Lock-red-alt-2.svg")right 0.1em center/9px no-repeat}.mw-parser-output .cs1-ws-icon a{background:url("./mw/Wikisource-logo.svg")right 0.1em center/12px no-repeat}body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-free a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-limited a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-registration a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .id-lock-subscription a,body:not(.skin-timeless):not(.skin-minerva) .mw-parser-output .cs1-ws-icon a{background-size:contain;padding:0 1em 0 0}.mw-parser-output .cs1-code{color:inherit;background:inherit;border:none;padding:inherit}.mw-parser-output .cs1-hidden-error{display:none;color:var(--color-error,#d33)}.mw-parser-output .cs1-visible-error{color:var(--color-error,#d33)}.mw-parser-output .cs1-maint{display:none;color:#085;margin-left:0.3em}.mw-parser-output .cs1-kern-left{padding-left:0.2em}.mw-parser-output .cs1-kern-right{padding-right:0.2em}.mw-parser-output .citation .mw-selflink{font-weight:inherit}@media screen{.mw-parser-output .cs1-format{font-size:95%}html.skin-theme-clientpref-night .mw-parser-output .cs1-maint{color:#18911f}}@media screen and (prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .cs1-maint{color:#18911f}}


/* end https://en.wikipedia.org/ */
</style><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160306104007/http://research.microsoft.com/en-us/projects/cryptanalysis/aesbc.pdf">"Biclique Cryptanalysis of the Full AES"</a> <span class="cs1-format">(PDF)</span>. Archived from <a rel="nofollow" class="external text" href="http://research.microsoft.com/en-us/projects/cryptanalysis/aesbc.pdf">the original</a> <span class="cs1-format">(PDF)</span> on March 6, 2016<span class="reference-accessdate">. Retrieved <span class="nowrap">May 1,</span> 2019</span>.</cite></span>
</li>
<li id="cite_note-relkey-4"><span class="mw-cite-backlink">^ <a href="#cite_ref-relkey_4-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-relkey_4-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text">Alex Biryukov and Dmitry Khovratovich, <i>Related-key Cryptanalysis of the Full AES-192 and AES-256</i>, <cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://eprint.iacr.org/2009/317">"Related-key Cryptanalysis of the Full AES-192 and AES-256"</a>. Table 1. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090928014006/http://eprint.iacr.org/2009/317">Archived</a> from the original on 2009-09-28<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-02-16</span></span>.</cite></span>
</li>
<li id="cite_note-Bruce_Schneier-5"><span class="mw-cite-backlink">^ <a href="#cite_ref-Bruce_Schneier_5-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Bruce_Schneier_5-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFBruce_Schneier2009" class="citation web cs1">Bruce Schneier (2009-07-30). <a rel="nofollow" class="external text" href="http://www.schneier.com/blog/archives/2009/07/another_new_aes.html">"Another New AES Attack"</a>. <i>Schneier on Security, A blog covering security and security technology</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20091005183132/http://www.schneier.com/blog/archives/2009/07/another_new_aes.html">Archived</a> from the original on 2009-10-05<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-11</span></span>.</cite></span>
</li>
<li id="cite_note-6"><span class="mw-cite-backlink"><b><a href="#cite_ref-6">^</a></b></span> <span class="reference-text"><cite id="CITEREFAlex_BiryukovOrr_DunkelmanNathan_KellerDmitry_Khovratovich2009" class="citation web cs1">Alex Biryukov; Orr Dunkelman; Nathan Keller; Dmitry Khovratovich; Adi Shamir (2009-08-19). <a rel="nofollow" class="external text" href="https://eprint.iacr.org/2009/374">"Key Recovery Attacks of Practical Complexity on AES Variants With Up To 10 Rounds"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100128050656/http://eprint.iacr.org/2009/374">Archived</a> from the original on 28 January 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-11</span></span>.</cite></span>
</li>
<li id="cite_note-Rijndael-ammended.pdf-7"><span class="mw-cite-backlink">^ <a href="#cite_ref-Rijndael-ammended.pdf_7-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-Rijndael-ammended.pdf_7-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFDaemenRijmen2003" class="citation web cs1">Daemen, Joan; Rijmen, Vincent (March 9, 2003). <a rel="nofollow" class="external text" href="http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=1">"AES Proposal: Rijndael"</a> <span class="cs1-format">(PDF)</span>. National Institute of Standards and Technology. p.&nbsp;1. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130305143117/http://csrc.nist.gov/archive/aes/rijndael/Rijndael-ammended.pdf#page=1">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 5 March 2013<span class="reference-accessdate">. Retrieved <span class="nowrap">21 February</span> 2013</span>.</cite></span>
</li>
<li id="cite_note-fips-197-8"><span class="mw-cite-backlink">^ <a href="#cite_ref-fips-197_8-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-fips-197_8-1"><sup><i><b>b</b></i></sup></a> <a href="#cite_ref-fips-197_8-2"><sup><i><b>c</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197-upd1.pdf">"Announcing the ADVANCED ENCRYPTION STANDARD (AES)"</a> <span class="cs1-format">(PDF)</span>. <i>Federal Information Processing Standards Publication 197</i>. United States National Institute of Standards and Technology (NIST). November 26, 2001. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20240823165748/https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197-upd1.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on August 23, 2024<span class="reference-accessdate">. Retrieved <span class="nowrap">August 26,</span> 2024</span>.</cite></span>
</li>
<li id="cite_note-Rijndaelv2-9"><span class="mw-cite-backlink"><b><a href="#cite_ref-Rijndaelv2_9-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFJoan_Daemen_and_Vincent_Rijmen1999" class="citation web cs1">Joan Daemen and Vincent Rijmen (September 3, 1999). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070203204845/https://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael.pdf">"AES Proposal: Rijndael"</a> <span class="cs1-format">(PDF)</span>. Archived from <a rel="nofollow" class="external text" href="http://csrc.nist.gov/CryptoToolkit/aes/rijndael/Rijndael.pdf">the original</a> <span class="cs1-format">(PDF)</span> on February 3, 2007.</cite></span>
</li>
<li id="cite_note-10"><span class="mw-cite-backlink"><b><a href="#cite_ref-10">^</a></b></span> <span class="reference-text"><cite id="CITEREFSchwartz2000" class="citation news cs1">Schwartz, John (October 3, 2000). <a rel="nofollow" class="external text" href="https://www.nytimes.com/2000/10/03/business/technology-us-selects-a-new-encryption-technique.html">"U.S. Selects a New Encryption Technique"</a>. <i><a href="The_New_York_Times" title="The New York Times">The New York Times</a></i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170328215407/http://www.nytimes.com/2000/10/03/business/technology-us-selects-a-new-encryption-technique.html">Archived</a> from the original on March 28, 2017.</cite></span>
</li>
<li id="cite_note-11"><span class="mw-cite-backlink"><b><a href="#cite_ref-11">^</a></b></span> <span class="reference-text"><cite id="CITEREFWestlund2002" class="citation news cs1">Westlund, Harold B. (2002). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20071103105501/http://findarticles.com/p/articles/mi_m0IKZ/is_3_107?pnum=2&amp;opg=90984479">"NIST reports measurable success of Advanced Encryption Standard"</a>. <i>Journal of Research of the National Institute of Standards and Technology</i>. Archived from <a rel="nofollow" class="external text" href="http://www.findarticles.com/p/articles/mi_m0IKZ/is_3_107?pnum=2&amp;opg=90984479">the original</a> on 2007-11-03.</cite></span>
</li>
<li id="cite_note-ISO_IEC_AES-14"><span class="mw-cite-backlink"><b><a href="#cite_ref-ISO_IEC_AES_14-0">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=54531">"ISO/IEC 18033-3: Information technology – Security techniques – Encryption algorithms – Part 3: Block ciphers"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20131203003348/http://www.iso.org/iso/home/store/catalogue_ics/catalogue_detail_ics.htm?csnumber=54531">Archived</a> from the original on 2013-12-03.</cite></span>
</li>
<li id="cite_note-15"><span class="mw-cite-backlink"><b><a href="#cite_ref-15">^</a></b></span> <span class="reference-text"><cite id="CITEREFBruce_SchneierJohn_KelseyDoug_WhitingDavid_Wagner2000" class="citation web cs1">Bruce Schneier; John Kelsey; Doug Whiting; David Wagner; Chris Hall; Niels Ferguson; Tadayoshi Kohno; et&nbsp;al. (May 2000). <a rel="nofollow" class="external text" href="http://www.schneier.com/paper-twofish-final.pdf">"The Twofish Team's Final Comments on AES Selection"</a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100102041117/http://schneier.com/paper-twofish-final.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2010-01-02.</cite></span>
</li>
<li id="cite_note-18"><span class="mw-cite-backlink"><b><a href="#cite_ref-18">^</a></b></span> <span class="reference-text"><cite id="CITEREFBertoniBreveglieriFragnetoMacChetti2003" class="citation book cs1">Bertoni, Guido; Breveglieri, Luca; Fragneto, Pasqualina; MacChetti, Marco; Marchesin, Stefano (2003). <a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F3-540-36400-5_13">"Efficient Software Implementation of AES on 32-Bit Platforms"</a>. <i>Cryptographic Hardware and Embedded Systems - CHES 2002</i>. Lecture Notes in Computer Science. Vol.&nbsp;2523. pp.&nbsp;<span class="nowrap">159–</span>171. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F3-540-36400-5_13">10.1007/3-540-36400-5_13</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-540-00409-7</bdi>.</cite></span>
</li>
<li id="cite_note-19"><span class="mw-cite-backlink"><b><a href="#cite_ref-19">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://code.google.com/p/byte-oriented-aes">"byte-oriented-aes – A public domain byte-oriented implementation of AES in C – Google Project Hosting"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130720155538/http://code.google.com/p/byte-oriented-aes/">Archived</a> from the original on 2013-07-20<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-12-23</span></span>.</cite></span>
</li>
<li id="cite_note-20"><span class="mw-cite-backlink"><b><a href="#cite_ref-20">^</a></b></span> <span class="reference-text"><cite id="CITEREFLynn_Hathaway2003" class="citation web cs1">Lynn Hathaway (June 2003). <a rel="nofollow" class="external text" href="http://csrc.nist.gov/groups/ST/toolkit/documents/aes/CNSS15FS.pdf">"National Policy on the Use of the Advanced Encryption Standard (AES) to Protect National Security Systems and National Security Information"</a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20101106122007/http://csrc.nist.gov/groups/ST/toolkit/documents/aes/CNSS15FS.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2010-11-06<span class="reference-accessdate">. Retrieved <span class="nowrap">2011-02-15</span></span>.</cite></span>
</li>
<li id="cite_note-ZD20060430-21"><span class="mw-cite-backlink"><b><a href="#cite_ref-ZD20060430_21-0">^</a></b></span> <span class="reference-text"><cite id="CITEREFOu2006" class="citation web cs1">Ou, George (April 30, 2006). <a rel="nofollow" class="external text" href="https://www.zdnet.com/article/is-encryption-really-crackable/">"Is encryption really crackable?"</a>. Ziff-Davis. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100808173034/http://www.zdnet.com/blog/ou/is-encryption-really-crackable/204">Archived</a> from the original on August 8, 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">August 7,</span> 2010</span>.</cite></span>
</li>
<li id="cite_note-22"><span class="mw-cite-backlink"><b><a href="#cite_ref-22">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.isg.rhul.ac.uk/~sean/">"Sean Murphy"</a>. University of London. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090131145521/http://www.isg.rhul.ac.uk/~sean/">Archived</a> from the original on 2009-01-31<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-11-02</span></span>.</cite></span>
</li>
<li id="cite_note-23"><span class="mw-cite-backlink"><b><a href="#cite_ref-23">^</a></b></span> <span class="reference-text"><cite id="CITEREFBruce_Schneier" class="citation web cs1">Bruce Schneier. <a rel="nofollow" class="external text" href="http://www.schneier.com/crypto-gram-0209.html">"AES News, Crypto-Gram Newsletter, September 15, 2002"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070707105715/http://www.schneier.com/crypto-gram-0209.html">Archived</a> from the original on 7 July 2007<span class="reference-accessdate">. Retrieved <span class="nowrap">2007-07-27</span></span>.</cite></span>
</li>
<li id="cite_note-rijndael-algebraic-24"><span class="mw-cite-backlink"><b><a href="#cite_ref-rijndael-algebraic_24-0">^</a></b></span> <span class="reference-text">
<cite id="CITEREFNiels_FergusonRichard_SchroeppelDoug_Whiting2001" class="citation conference cs1"><a href="Niels_Ferguson" title="Niels Ferguson">Niels Ferguson</a>; <a href="Richard_Schroeppel" title="Richard Schroeppel">Richard Schroeppel</a>; Doug Whiting (2001). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20061104080748/http://www.macfergus.com/pub/rdalgeq.html">"A simple algebraic representation of Rijndael"</a>. <i>Proceedings of Selected Areas in Cryptography, 2001, Lecture Notes in Computer Science</i>. <a href="Springer-Verlag" class="mw-redirect" title="Springer-Verlag">Springer-Verlag</a>. pp.&nbsp;<span class="nowrap">103–</span>111. <a href="CiteSeerX_(identifier)" class="mw-redirect" title="CiteSeerX (identifier)">CiteSeerX</a>&nbsp;<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.28.4921">10.1.1.28.4921</a></span>. Archived from <a rel="nofollow" class="external text" href="http://www.macfergus.com/pub/rdalgeq.html">the original</a> <span class="cs1-format">(PDF/<a href="PostScript" title="PostScript">PostScript</a>)</span> on 4 November 2006<span class="reference-accessdate">. Retrieved <span class="nowrap">2006-10-06</span></span>.</cite></span>
</li>
<li id="cite_note-25"><span class="mw-cite-backlink"><b><a href="#cite_ref-25">^</a></b></span> <span class="reference-text">Bruce Schneier, <a rel="nofollow" class="external text" href="http://www.schneier.com/crypto-gram-0010.html">AES Announced</a> <a rel="nofollow" class="external text" href="https://web.archive.org/web/20090201005720/http://www.schneier.com/crypto-gram-0010.html">Archived</a> 2009-02-01 at the <a href="Wayback_Machine" title="Wayback Machine">Wayback Machine</a>, October 15, 2000</span>
</li>
<li id="cite_note-improved-26"><span class="mw-cite-backlink"><b><a href="#cite_ref-improved_26-0">^</a></b></span> <span class="reference-text"><a href="John_Kelsey_(cryptanalyst)" title="John Kelsey (cryptanalyst)">John Kelsey</a>, <a href="Stefan_Lucks" title="Stefan Lucks">Stefan Lucks</a>, <a href="Bruce_Schneier" title="Bruce Schneier">Bruce Schneier</a>, Mike Stay, <a href="David_A._Wagner" title="David A. Wagner">David Wagner</a>, and Doug Whiting, <i>Improved Cryptanalysis of Rijndael</i>, <a href="Fast_Software_Encryption" class="mw-redirect" title="Fast Software Encryption">Fast Software Encryption</a>, 2000 pp213–230 <cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://www.schneier.com/paper-rijndael.html">"Academic: Improved Cryptanalysis of Rijndael - Schneier on Security"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070223215007/http://www.schneier.com/paper-rijndael.html">Archived</a> from the original on 2007-02-23<span class="reference-accessdate">. Retrieved <span class="nowrap">2007-03-06</span></span>.</cite></span>
</li>
<li id="cite_note-27"><span class="mw-cite-backlink"><b><a href="#cite_ref-27">^</a></b></span> <span class="reference-text"><cite id="CITEREFNikolić2009" class="citation book cs1">Nikolić, Ivica (2009). "Distinguisher and Related-Key Attack on the Full AES-256". <i>Advances in Cryptology - CRYPTO 2009</i>. Lecture Notes in Computer Science. Vol.&nbsp;5677. Springer Berlin / Heidelberg. pp.&nbsp;<span class="nowrap">231–</span>249. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-03356-8_14">10.1007/978-3-642-03356-8_14</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-642-03355-1</bdi>.</cite></span>
</li>
<li id="cite_note-28"><span class="mw-cite-backlink"><b><a href="#cite_ref-28">^</a></b></span> <span class="reference-text"><cite id="CITEREFAlex_BiryukovOrr_DunkelmanNathan_KellerDmitry_Khovratovich2009" class="citation web cs1">Alex Biryukov; Orr Dunkelman; Nathan Keller; Dmitry Khovratovich; Adi Shamir (2009-08-19). <a rel="nofollow" class="external text" href="http://eprint.iacr.org/2009/374">"Key Recovery Attacks of Practical Complexity on AES Variants With Up To 10 Rounds"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100128050656/http://eprint.iacr.org/2009/374">Archived</a> from the original on 28 January 2010<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-11</span></span>.</cite></span>
</li>
<li id="cite_note-29"><span class="mw-cite-backlink"><b><a href="#cite_ref-29">^</a></b></span> <span class="reference-text"><cite id="CITEREFAgren2012" class="citation book cs1">Agren, Martin (2012). <i>On Some Symmetric Lightweight Cryptographic Designs</i>. Dissertation, Lund University. pp.&nbsp;<span class="nowrap">38–</span>39.</cite></span>
</li>
<li id="cite_note-30"><span class="mw-cite-backlink"><b><a href="#cite_ref-30">^</a></b></span> <span class="reference-text"><cite id="CITEREFVincent_Rijmen2010" class="citation journal cs1">Vincent Rijmen (2010). <a rel="nofollow" class="external text" href="http://eprint.iacr.org/2010/337.pdf">"Practical-Titled Attack on AES-128 Using Chosen-Text Relations"</a> <span class="cs1-format">(PDF)</span>. <i>IACR Cryptology ePrint Archive</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100702184311/http://eprint.iacr.org/2010/337.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2010-07-02.</cite></span>
</li>
<li id="cite_note-31"><span class="mw-cite-backlink"><b><a href="#cite_ref-31">^</a></b></span> <span class="reference-text"><cite id="CITEREFHenri_GilbertThomas_Peyrin2009" class="citation journal cs1">Henri Gilbert; Thomas Peyrin (2009-11-09). <a rel="nofollow" class="external text" href="http://eprint.iacr.org/2009/531">"Super-Sbox Cryptanalysis: Improved Attacks for AES-like permutations"</a>. <i>IACR Cryptology ePrint Archive</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20100604095754/http://eprint.iacr.org/2009/531">Archived</a> from the original on 2010-06-04<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-03-11</span></span>.</cite></span>
</li>
<li id="cite_note-32"><span class="mw-cite-backlink"><b><a href="#cite_ref-32">^</a></b></span> <span class="reference-text"><cite id="CITEREFBogdanovKhovratovichRechberger2011" class="citation book cs1">Bogdanov, Andrey; Khovratovich, Dmitry; Rechberger, Christian (2011). "Biclique Cryptanalysis of the Full AES". In Lee, Dong Hoon; Wang, Xiaoyun (eds.). <i>Advances in Cryptology – ASIACRYPT 2011</i>. Lecture Notes in Computer Science. Vol.&nbsp;7073. pp.&nbsp;<span class="nowrap">344–</span>371. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-642-25385-0_19">10.1007/978-3-642-25385-0_19</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-642-25385-0</bdi>.</cite></span>
</li>
<li id="cite_note-:0-33"><span class="mw-cite-backlink">^ <a href="#cite_ref-:0_33-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-:0_33-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFTaoWu2015" class="citation book cs1">Tao, Biaoshuai; Wu, Hongjun (2015). "Improving the Biclique Cryptanalysis of AES". In Foo, Ernest; Stebila, Douglas (eds.). <i>Information Security and Privacy</i>. Lecture Notes in Computer Science. Vol.&nbsp;9144. pp.&nbsp;<span class="nowrap">39–</span>56. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F978-3-319-19962-7_3">10.1007/978-3-319-19962-7_3</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-319-19962-7</bdi>.</cite></span>
</li>
<li id="cite_note-34"><span class="mw-cite-backlink"><b><a href="#cite_ref-34">^</a></b></span> <span class="reference-text"><cite id="CITEREFJeffrey_Goldberg2011" class="citation web cs1">Jeffrey Goldberg (2011-08-18). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20150108165723/https://blog.agilebits.com/2011/08/18/aes-encryption-isnt-cracked/">"AES Encryption isn't Cracked"</a>. Archived from <a rel="nofollow" class="external text" href="https://blog.agilebits.com/2011/08/18/aes-encryption-isnt-cracked/">the original</a> on 8 January 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">30 December</span> 2014</span>.</cite></span>
</li>
<li id="cite_note-35"><span class="mw-cite-backlink"><b><a href="#cite_ref-35">^</a></b></span> <span class="reference-text"><cite class="citation news cs1"><a rel="nofollow" class="external text" href="http://www.spiegel.de/international/germany/inside-the-nsa-s-war-on-internet-security-a-1010361.html">"Prying Eyes: Inside the NSA's War on Internet Security"</a>. <i><a href="Der_Spiegel_(website)" title="Der Spiegel (website)">Spiegel Online</a></i>. Hamburg, Germany. 28 December 2014. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20150124202809/http://www.spiegel.de/international/germany/inside-the-nsa-s-war-on-internet-security-a-1010361.html">Archived</a> from the original on 24 January 2015<span class="reference-accessdate">. Retrieved <span class="nowrap">4 September</span> 2015</span>.</cite></span>
</li>
<li id="cite_note-bernstein_timing-36"><span class="mw-cite-backlink">^ <a href="#cite_ref-bernstein_timing_36-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-bernstein_timing_36-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://cr.yp.to/papers.html#cachetiming">"Index of formal scientific papers"</a>. Cr.yp.to. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20080917042758/http://cr.yp.to/papers.html#cachetiming">Archived</a> from the original on 2008-09-17<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-11-02</span></span>.</cite></span>
</li>
<li id="cite_note-37"><span class="mw-cite-backlink"><b><a href="#cite_ref-37">^</a></b></span> <span class="reference-text"><cite id="CITEREFBruce_Schneier2005" class="citation web cs1">Bruce Schneier (17 May 2005). <a rel="nofollow" class="external text" href="http://www.schneier.com/blog/archives/2005/05/aes_timing_atta_1.html">"AES Timing Attack"</a>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20070212015727/http://www.schneier.com/blog/archives/2005/05/aes_timing_atta_1.html">Archived</a> from the original on 12 February 2007<span class="reference-accessdate">. Retrieved <span class="nowrap">2007-03-17</span></span>.</cite></span>
</li>
<li id="cite_note-38"><span class="mw-cite-backlink"><b><a href="#cite_ref-38">^</a></b></span> <span class="reference-text"><cite id="CITEREFDag_Arne_OsvikAdi_ShamirEran_Tromer2005" class="citation book cs1">Dag Arne Osvik; Adi Shamir; Eran Tromer (2005-11-20). <a rel="nofollow" class="external text" href="http://www.wisdom.weizmann.ac.il/~tromer/papers/cache.pdf">"Cache Attacks and Countermeasures: the Case of AES"</a> <span class="cs1-format">(PDF)</span>. <i>The Cryptographer's Track at RSA Conference 2006</i>. Lecture Notes in Computer Science. Vol.&nbsp;3860. pp.&nbsp;<span class="nowrap">1–</span>20. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1007%2F11605805_1">10.1007/11605805_1</a>. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-540-31033-4</bdi>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20060619221046/http://www.wisdom.weizmann.ac.il/%7Etromer/papers/cache.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2006-06-19<span class="reference-accessdate">. Retrieved <span class="nowrap">2008-11-02</span></span>.</cite></span>
</li>
<li id="cite_note-39"><span class="mw-cite-backlink"><b><a href="#cite_ref-39">^</a></b></span> <span class="reference-text"><cite id="CITEREFDhiman_SahaDebdeep_MukhopadhyayDipanwita_RoyChowdhury" class="citation journal cs1">Dhiman Saha; Debdeep Mukhopadhyay; <a href="Dipanwita_Roy_Chowdhury" title="Dipanwita Roy Chowdhury">Dipanwita RoyChowdhury</a>. <a rel="nofollow" class="external text" href="http://eprint.iacr.org/2009/581.pdf">"A Diagonal Fault Attack on the Advanced Encryption Standard"</a> <span class="cs1-format">(PDF)</span>. <i>IACR Cryptology ePrint Archive</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20091222070135/http://eprint.iacr.org/2009/581.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 22 December 2009<span class="reference-accessdate">. Retrieved <span class="nowrap">2009-12-08</span></span>.</cite></span>
</li>
<li id="cite_note-40"><span class="mw-cite-backlink"><b><a href="#cite_ref-40">^</a></b></span> <span class="reference-text"><cite id="CITEREFEndre_BangerterDavid_GullaschStephan_Krenn2010" class="citation journal cs1">Endre Bangerter; David Gullasch &amp; Stephan Krenn (2010). <a rel="nofollow" class="external text" href="http://eprint.iacr.org/2010/594.pdf">"Cache Games – Bringing Access-Based Cache Attacks on AES to Practice"</a> <span class="cs1-format">(PDF)</span>. <i>IACR Cryptology ePrint Archive</i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20101214092512/http://eprint.iacr.org/2010/594.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2010-12-14.</cite></span>
</li>
<li id="cite_note-41"><span class="mw-cite-backlink"><b><a href="#cite_ref-41">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://news.ycombinator.com/item?id=1937902">"Breaking AES-128 in realtime, no ciphertext required"</a>. Hacker News. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20111003193004/http://news.ycombinator.com/item?id=1937902">Archived</a> from the original on 2011-10-03<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-12-23</span></span>.</cite></span>
</li>
<li id="cite_note-42"><span class="mw-cite-backlink"><b><a href="#cite_ref-42">^</a></b></span> <span class="reference-text"><cite id="CITEREFAshokkumarGiriMenezes2016" class="citation conference cs1">Ashokkumar, C.; Giri, Ravi Prakash; Menezes, Bernard (12 May 2016). <i>Highly Efficient Algorithms for AES Key Retrieval in Cache Access Attacks</i>. 2016 IEEE European Symposium on Security and Privacy (EuroS&amp;P). Saarbruecken, Germany. pp.&nbsp;<span class="nowrap">261–</span>275. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1109%2FEuroSP.2016.29">10.1109/EuroSP.2016.29</a>.</cite></span>
</li>
<li id="cite_note-43"><span class="mw-cite-backlink"><b><a href="#cite_ref-43">^</a></b></span> <span class="reference-text"><cite id="CITEREFMoweryKeelveedhiShacham2012" class="citation conference cs1">Mowery, Keaton; Keelveedhi, Sriram; Shacham, Hovav (19 October 2012). <a rel="nofollow" class="external text" href="https://web.archive.org/web/20170809152309/http://cseweb.ucsd.edu/~kmowery/papers/aes-cache-timing.pdf"><i>Are AES x86 cache timing attacks still feasible?</i></a> <span class="cs1-format">(PDF)</span>. CCS'12: the ACM Conference on Computer and Communications Security. Raleigh, North Carolina, USA. pp.&nbsp;<span class="nowrap">19–</span>24. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<a rel="nofollow" class="external text" href="https://doi.org/10.1145%2F2381913.2381917">10.1145/2381913.2381917</a>. Archived from <a rel="nofollow" class="external text" href="https://cseweb.ucsd.edu/~kmowery/papers/aes-cache-timing.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2017-08-09.</cite></span>
</li>
<li id="cite_note-44"><span class="mw-cite-backlink"><b><a href="#cite_ref-44">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.intel.in/content/dam/doc/white-paper/enterprise-security-aes-ni-white-paper.pdf">"Securing the Enterprise with Intel AES-NI"</a> <span class="cs1-format">(PDF)</span>. <i><a href="Intel_Corporation" class="mw-redirect" title="Intel Corporation">Intel Corporation</a></i>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130331041411/http://www.intel.in/content/dam/doc/white-paper/enterprise-security-aes-ni-white-paper.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2013-03-31<span class="reference-accessdate">. Retrieved <span class="nowrap">2017-07-26</span></span>.</cite></span>
</li>
<li id="cite_note-45"><span class="mw-cite-backlink"><b><a href="#cite_ref-45">^</a></b></span> <span class="reference-text"><cite id="CITEREFBonnetainNaya-PlasenciaSchrottenloher2019" class="citation journal cs1">Bonnetain, Xavier; Naya-Plasencia, María; Schrottenloher, André (11 June 2019). <a rel="nofollow" class="external text" href="https://inria.hal.science/hal-02397049/document">"Quantum Security Analysis of AES"</a>. <i>IACR Transactions on Symmetric Cryptology</i>. <b>2019</b> (2): <span class="nowrap">55–</span>93. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.13154%2Ftosc.v2019.i2.55-93">10.13154/tosc.v2019.i2.55-93</a></span>.</cite></span>
</li>
<li id="cite_note-46"><span class="mw-cite-backlink"><b><a href="#cite_ref-46">^</a></b></span> <span class="reference-text"><cite id="CITEREFO'Shea2022" class="citation web cs1">O'Shea, Dan (April 26, 2022). <a rel="nofollow" class="external text" href="https://www.fierceelectronics.com/electronics/aes-256-joins-quantum-resistance">"AES-256 joins the quantum resistance"</a>. <i>Fierce Electronics</i><span class="reference-accessdate">. Retrieved <span class="nowrap">September 26,</span> 2023</span>.</cite></span>
</li>
<li id="cite_note-cnss.gov-47"><span class="mw-cite-backlink">^ <a href="#cite_ref-cnss.gov_47-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-cnss.gov_47-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20120421103818/http://www.cnss.gov/Assets/pdf/nstissp_11_fs.pdf">"NSTISSP No. 11, Revised Fact Sheet, National Information Assurance Acquisition Policy"</a> <span class="cs1-format">(PDF)</span>. Archived from <a rel="nofollow" class="external text" href="http://www.cnss.gov/Assets/pdf/nstissp_11_fs.pdf">the original</a> <span class="cs1-format">(PDF)</span> on 2012-04-21<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-05-29</span></span>.</cite></span>
</li>
<li id="cite_note-48"><span class="mw-cite-backlink"><b><a href="#cite_ref-48">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://csrc.nist.gov/groups/STM/cavp/index.html">"NIST.gov – Computer Security Division – Computer Security Resource Center"</a>. Csrc.nist.gov. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130102044410/http://csrc.nist.gov/groups/STM/cavp/index.html">Archived</a> from the original on 2013-01-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-12-23</span></span>.</cite></span>
</li>
<li id="cite_note-49"><span class="mw-cite-backlink"><b><a href="#cite_ref-49">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20141226152243/http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm">"Validated FIPS 140-1 and FIPS 140-2 Cryptographic Modules"</a>. Archived from <a rel="nofollow" class="external text" href="http://csrc.nist.gov/groups/STM/cmvp/documents/140-1/140val-all.htm">the original</a> on 2014-12-26<span class="reference-accessdate">. Retrieved <span class="nowrap">2014-06-26</span></span>.</cite></span>
</li>
<li id="cite_note-openssl-50"><span class="mw-cite-backlink">^ <a href="#cite_ref-openssl_50-0"><sup><i><b>a</b></i></sup></a> <a href="#cite_ref-openssl_50-1"><sup><i><b>b</b></i></sup></a></span> <span class="reference-text"><cite id="CITEREFOpenSSL,_openssl@openssl.org" class="citation web cs1">OpenSSL, openssl@openssl.org. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20130102203126/http://www.openssl.org/docs/fips/fipsnotes.html">"OpenSSL's Notes about FIPS certification"</a>. Openssl.org. Archived from <a rel="nofollow" class="external text" href="https://openssl.org/docs/fips/fipsnotes.html">the original</a> on 2013-01-02<span class="reference-accessdate">. Retrieved <span class="nowrap">2012-12-23</span></span>.</cite></span>
</li>
<li id="cite_note-52"><span class="mw-cite-backlink"><b><a href="#cite_ref-52">^</a></b></span> <span class="reference-text"><cite id="CITEREFSchneierKelseyWhitingWagner1999" class="citation web cs1">Schneier, Bruce; Kelsey, John; Whiting, Doug; Wagner, David; Hall, Chris; Ferguson, Niels (1999-02-01). <a rel="nofollow" class="external text" href="http://www.schneier.com/paper-aes-performance.pdf">"Performance Comparisons of the AES submissions"</a> <span class="cs1-format">(PDF)</span>. <a rel="nofollow" class="external text" href="https://web.archive.org/web/20110622084238/http://www.schneier.com/paper-aes-performance.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2011-06-22<span class="reference-accessdate">. Retrieved <span class="nowrap">2010-12-28</span></span>.</cite></span>
</li>
<li id="cite_note-53"><span class="mw-cite-backlink"><b><a href="#cite_ref-53">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.vortez.net/articles_pages/amd_ryzen_7_1700x_review,7.html">"AMD Ryzen 7 1700X Review"</a>.</cite></span>
</li>
<li id="cite_note-54"><span class="mw-cite-backlink"><b><a href="#cite_ref-54">^</a></b></span> <span class="reference-text"><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://www.intel.com/content/dam/doc/white-paper/advanced-encryption-standard-new-instructions-set-paper.pdf">"Intel ® Advanced Encryption Standard (AES) New Instructions Set"</a> <span class="cs1-format">(PDF)</span>. May 2010.</cite></span>
</li>
</ol></div></div>
<style data-mw-deduplicate="TemplateStyles:r1239549316">
/* start https://en.wikipedia.org/ */


.mw-parser-output .refbegin{margin-bottom:0.5em}.mw-parser-output .refbegin-hanging-indents>ul{margin-left:0}.mw-parser-output .refbegin-hanging-indents>ul>li{margin-left:0;padding-left:3.2em;text-indent:-3.2em}.mw-parser-output .refbegin-hanging-indents ul,.mw-parser-output .refbegin-hanging-indents ul li{list-style:none}@media(max-width:720px){.mw-parser-output .refbegin-hanging-indents>ul>li{padding-left:1.6em;text-indent:-1.6em}}.mw-parser-output .refbegin-columns{margin-top:0.3em}.mw-parser-output .refbegin-columns ul{margin-top:0}.mw-parser-output .refbegin-columns li{page-break-inside:avoid;break-inside:avoid-column}@media screen{.mw-parser-output .refbegin{font-size:90%}}


/* end https://en.wikipedia.org/ */
</style><div class="refbegin" style="">
<ul><li><cite id="CITEREFCourtoisPieprzyk2003" class="citation book cs1">Courtois, Nicolas; Pieprzyk, Josef (2003). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=OZ1qCQAAQBAJ&amp;pg=PA268">"Cryptanalysis of Block Ciphers with Overdefined Systems of Equations"</a>. In Zheng, Yuliang (ed.). <a href="ASIACRYPT" class="mw-redirect" title="ASIACRYPT"><i>Advances in Cryptology – ASIACRYPT 2002: 8th International Conference on the Theory and Application of Cryptology and Information Security, Queenstown, New Zealand, December 1–5, 2002, Proceedings</i></a>. Springer. pp.&nbsp;<span class="nowrap">268–</span>287. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-540-36178-7</bdi>.</cite></li>
<li><cite id="CITEREFDaemenRijmen2002" class="citation book cs1">Daemen, Joan; Rijmen, Vincent (2002). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=tfjd6icCUoYC&amp;pg=PR4"><i>The Design of Rijndael: AES – The Advanced Encryption Standard</i></a>. Springer. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-540-42580-9</bdi>.</cite></li>
<li><cite id="CITEREFPaarPelzl2009" class="citation book cs1">Paar, Christof; Pelzl, Jan (2009). <a rel="nofollow" class="external text" href="https://books.google.com/books?id=f24wFELSzkoC&amp;pg=PA87"><i>Understanding Cryptography: A Textbook for Students and Practitioners</i></a>. Springer. pp.&nbsp;<span class="nowrap">87–</span>122. <a href="ISBN_(identifier)" class="mw-redirect" title="ISBN (identifier)">ISBN</a>&nbsp;<bdi>978-3-642-04101-3</bdi>.</cite> <a rel="nofollow" class="external text" href="https://archive.today/20130105232834/http://wiki.crypto.rub.de/Buch/sample_chapters.php">alternate link</a> (companion web site contains online lectures on AES)</li></ul>
</div>
<div class="mw-heading mw-heading2"><h2 id="External_links">External links</h2></div>
<ul><li><cite class="citation web cs1"><a rel="nofollow" class="external text" href="http://embeddedsw.net/Cipher_Reference_Home.html">"256bit key – 128bit block – AES"</a>. <i>Cryptography – 256 bit Ciphers: Reference source code and submissions to international cryptographic designs contests</i>. EmbeddedSW.</cite></li>
<li><cite class="citation journal cs1"><a rel="nofollow" class="external text" href="https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.197-upd1.pdf">"Advanced Encryption Standard (AES)"</a> <span class="cs1-format">(PDF)</span>. <i>Federal Information Processing Standards</i>. 26 November 2001. <a href="Doi_(identifier)" class="mw-redirect" title="Doi (identifier)">doi</a>:<span class="id-lock-free" title="Freely accessible"><a rel="nofollow" class="external text" href="https://doi.org/10.6028%2FNIST.FIPS.197">10.6028/NIST.FIPS.197</a></span>. 197.</cite></li>
<li><a rel="nofollow" class="external text" href="http://csrc.nist.gov/archive/aes/rijndael/wsdindex.html">AES algorithm archive information – (old, unmaintained)</a></li>
<li><cite class="citation web cs1"><a rel="nofollow" class="external text" href="https://webstore.iec.ch/preview/info_isoiec18033-3%7Bed2.0%7Den.pdf">"Part 3: Block ciphers"</a> <span class="cs1-format">(PDF)</span>. <i>Information technology – Security techniques – Encryption algorithms</i> (2nd&nbsp;ed.). ISO. 2010-12-15. ISO/IEC 18033-3:2010(E). <a rel="nofollow" class="external text" href="https://ghostarchive.org/archive/20221009/https://webstore.iec.ch/preview/info_isoiec18033-3%7Bed2.0%7Den.pdf">Archived</a> <span class="cs1-format">(PDF)</span> from the original on 2022-10-09.</cite></li>
<li><a rel="nofollow" class="external text" href="http://www.formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_eng.swf">Animation of Rijndael</a> – AES deeply explained and animated using Flash (by Enrique Zabala / University ORT / Montevideo / Uruguay). This animation (in English, Spanish, and German) is also part of <a href="CrypTool" title="CrypTool">CrypTool 1</a> (menu Indiv. Procedures → Visualization of Algorithms → AES).</li>
<li><a rel="nofollow" class="external text" href="https://formaestudio.com/rijndaelinspector/archivos/Rijndael_Animation_v4_eng-html5.html">HTML5 Animation of Rijndael</a> – Same Animation as above made in HTML5.</li></ul>
<div class="navbox-styles"><style data-mw-deduplicate="TemplateStyles:r1129693374">
/* start https://en.wikipedia.org/ */


.mw-parser-output .hlist dl,.mw-parser-output .hlist ol,.mw-parser-output .hlist ul{margin:0;padding:0}.mw-parser-output .hlist dd,.mw-parser-output .hlist dt,.mw-parser-output .hlist li{margin:0;display:inline}.mw-parser-output .hlist.inline,.mw-parser-output .hlist.inline dl,.mw-parser-output .hlist.inline ol,.mw-parser-output .hlist.inline ul,.mw-parser-output .hlist dl dl,.mw-parser-output .hlist dl ol,.mw-parser-output .hlist dl ul,.mw-parser-output .hlist ol dl,.mw-parser-output .hlist ol ol,.mw-parser-output .hlist ol ul,.mw-parser-output .hlist ul dl,.mw-parser-output .hlist ul ol,.mw-parser-output .hlist ul ul{display:inline}.mw-parser-output .hlist .mw-empty-li{display:none}.mw-parser-output .hlist dt::after{content:": "}.mw-parser-output .hlist dd::after,.mw-parser-output .hlist li::after{content:" · ";font-weight:bold}.mw-parser-output .hlist dd:last-child::after,.mw-parser-output .hlist dt:last-child::after,.mw-parser-output .hlist li:last-child::after{content:none}.mw-parser-output .hlist dd dd:first-child::before,.mw-parser-output .hlist dd dt:first-child::before,.mw-parser-output .hlist dd li:first-child::before,.mw-parser-output .hlist dt dd:first-child::before,.mw-parser-output .hlist dt dt:first-child::before,.mw-parser-output .hlist dt li:first-child::before,.mw-parser-output .hlist li dd:first-child::before,.mw-parser-output .hlist li dt:first-child::before,.mw-parser-output .hlist li li:first-child::before{content:" (";font-weight:normal}.mw-parser-output .hlist dd dd:last-child::after,.mw-parser-output .hlist dd dt:last-child::after,.mw-parser-output .hlist dd li:last-child::after,.mw-parser-output .hlist dt dd:last-child::after,.mw-parser-output .hlist dt dt:last-child::after,.mw-parser-output .hlist dt li:last-child::after,.mw-parser-output .hlist li dd:last-child::after,.mw-parser-output .hlist li dt:last-child::after,.mw-parser-output .hlist li li:last-child::after{content:")";font-weight:normal}.mw-parser-output .hlist ol{counter-reset:listitem}.mw-parser-output .hlist ol>li{counter-increment:listitem}.mw-parser-output .hlist ol>li::before{content:" "counter(listitem)"\a0 "}.mw-parser-output .hlist dd ol>li:first-child::before,.mw-parser-output .hlist dt ol>li:first-child::before,.mw-parser-output .hlist li ol>li:first-child::before{content:" ("counter(listitem)"\a0 "}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1236075235">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbox{box-sizing:border-box;border:1px solid #a2a9b1;width:100%;clear:both;font-size:88%;text-align:center;padding:1px;margin:1em auto 0}.mw-parser-output .navbox .navbox{margin-top:0}.mw-parser-output .navbox+.navbox,.mw-parser-output .navbox+.navbox-styles+.navbox{margin-top:-1px}.mw-parser-output .navbox-inner,.mw-parser-output .navbox-subgroup{width:100%}.mw-parser-output .navbox-group,.mw-parser-output .navbox-title,.mw-parser-output .navbox-abovebelow{padding:0.25em 1em;line-height:1.5em;text-align:center}.mw-parser-output .navbox-group{white-space:nowrap;text-align:right}.mw-parser-output .navbox,.mw-parser-output .navbox-subgroup{background-color:#fdfdfd}.mw-parser-output .navbox-list{line-height:1.5em;border-color:#fdfdfd}.mw-parser-output .navbox-list-with-group{text-align:left;border-left-width:2px;border-left-style:solid}.mw-parser-output tr+tr>.navbox-abovebelow,.mw-parser-output tr+tr>.navbox-group,.mw-parser-output tr+tr>.navbox-image,.mw-parser-output tr+tr>.navbox-list{border-top:2px solid #fdfdfd}.mw-parser-output .navbox-title{background-color:#ccf}.mw-parser-output .navbox-abovebelow,.mw-parser-output .navbox-group,.mw-parser-output .navbox-subgroup .navbox-title{background-color:#ddf}.mw-parser-output .navbox-subgroup .navbox-group,.mw-parser-output .navbox-subgroup .navbox-abovebelow{background-color:#e6e6ff}.mw-parser-output .navbox-even{background-color:#f7f7f7}.mw-parser-output .navbox-odd{background-color:transparent}.mw-parser-output .navbox .hlist td dl,.mw-parser-output .navbox .hlist td ol,.mw-parser-output .navbox .hlist td ul,.mw-parser-output .navbox td.hlist dl,.mw-parser-output .navbox td.hlist ol,.mw-parser-output .navbox td.hlist ul{padding:0.125em 0}.mw-parser-output .navbox .navbar{display:block;font-size:100%}.mw-parser-output .navbox-title .navbar{float:left;text-align:left;margin-right:0.5em}body.skin--responsive .mw-parser-output .navbox-image img{max-width:none!important}@media print{body.ns-0 .mw-parser-output .navbox{display:none!important}}


/* end https://en.wikipedia.org/ */
</style><style data-mw-deduplicate="TemplateStyles:r1239400231">
/* start https://en.wikipedia.org/ */


.mw-parser-output .navbar{display:inline;font-size:88%;font-weight:normal}.mw-parser-output .navbar-collapse{float:left;text-align:left}.mw-parser-output .navbar-boxtext{word-spacing:0}.mw-parser-output .navbar ul{display:inline-block;white-space:nowrap;line-height:inherit}.mw-parser-output .navbar-brackets::before{margin-right:-0.125em;content:"[ "}.mw-parser-output .navbar-brackets::after{margin-left:-0.125em;content:" ]"}.mw-parser-output .navbar li{word-spacing:-0.125em}.mw-parser-output .navbar a>span,.mw-parser-output .navbar a>abbr{text-decoration:inherit}.mw-parser-output .navbar-mini abbr{font-variant:small-caps;border-bottom:none;text-decoration:none;cursor:inherit}.mw-parser-output .navbar-ct-full{font-size:114%;margin:0 7em}.mw-parser-output .navbar-ct-mini{font-size:114%;margin:0 4em}html.skin-theme-clientpref-night .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}@media(prefers-color-scheme:dark){html.skin-theme-clientpref-os .mw-parser-output .navbar li a abbr{color:var(--color-base)!important}}@media print{.mw-parser-output .navbar{display:none!important}}


/* end https://en.wikipedia.org/ */
</style></div><div role="navigation" class="navbox" aria-label="Navbox0" style="padding:3px"><table class="nowraplinks hlist navbox-inner" style="border-spacing:0;background:transparent;color:inherit"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Block_ciphers_(security_summary)197" style="font-size:114%;margin:0 4em"><a href="Block_cipher" title="Block cipher">Block ciphers</a> (<a href="Cipher_security_summary" title="Cipher security summary">security summary</a>)</div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">Common<br>algorithms</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul>
<li><a href="Blowfish_(cipher)" title="Blowfish (cipher)">Blowfish</a></li>
<li><a href="Data_Encryption_Standard" title="Data Encryption Standard">DES</a> (<a href="DES_supplementary_material" title="DES supplementary material">internal mechanics</a>, <a href="Triple_DES" title="Triple DES">Triple DES</a>)</li>
<li><a href="Serpent_(cipher)" title="Serpent (cipher)">Serpent</a></li>
<li><a href="SM4_(cipher)" title="SM4 (cipher)">SM4</a></li>
<li><a href="Twofish" title="Twofish">Twofish</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Less common<br>algorithms</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="ARIA_(cipher)" title="ARIA (cipher)">ARIA</a></li>
<li><a href="Camellia_(cipher)" title="Camellia (cipher)">Camellia</a></li>
<li><a href="CAST-128" title="CAST-128">CAST-128</a></li>
<li><a href="GOST_(block_cipher)" title="GOST (block cipher)">GOST</a></li>
<li><a href="International_Data_Encryption_Algorithm" title="International Data Encryption Algorithm">IDEA</a></li>
<li><a href="LEA_(cipher)" title="LEA (cipher)">LEA</a></li>
<li><a href="RC5" title="RC5">RC5</a></li>
<li><a href="RC6" title="RC6">RC6</a></li>
<li><a href="SEED" title="SEED">SEED</a></li>
<li><a href="Skipjack_(cipher)" title="Skipjack (cipher)">Skipjack</a></li>
<li><a href="Tiny_Encryption_Algorithm" title="Tiny Encryption Algorithm">TEA</a></li>
<li><a href="XTEA" title="XTEA">XTEA</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Other<br>algorithms</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="3-Way" title="3-Way">3-Way</a></li>
<li><a href="Adiantum_(cipher)" title="Adiantum (cipher)">Adiantum</a></li>
<li><a href="Akelarre_(cipher)" title="Akelarre (cipher)">Akelarre</a></li>
<li><a href="Anubis_(cipher)" title="Anubis (cipher)">Anubis</a></li>
<li><a href="Ascon_(cipher)" title="Ascon (cipher)">Ascon</a></li>
<li><a href="BaseKing" title="BaseKing">BaseKing</a></li>
<li><a href="BassOmatic" title="BassOmatic">BassOmatic</a></li>
<li><a href="BATON" title="BATON">BATON</a></li>
<li><a href="BEAR_and_LION_ciphers" title="BEAR and LION ciphers">BEAR and LION</a></li>
<li><a href="CAST-256" title="CAST-256">CAST-256</a></li>
<li><a href="Chiasmus_(cipher)" title="Chiasmus (cipher)">Chiasmus</a></li>
<li><a href="CIKS-1" title="CIKS-1">CIKS-1</a></li>
<li><a href="CIPHERUNICORN-A" title="CIPHERUNICORN-A">CIPHERUNICORN-A</a></li>
<li><a href="CIPHERUNICORN-E" title="CIPHERUNICORN-E">CIPHERUNICORN-E</a></li>
<li><a href="CLEFIA" title="CLEFIA">CLEFIA</a></li>
<li><a href="Cellular_Message_Encryption_Algorithm" title="Cellular Message Encryption Algorithm">CMEA</a></li>
<li><a href="Cobra_ciphers" title="Cobra ciphers">Cobra</a></li>
<li><a href="COCONUT98" title="COCONUT98">COCONUT98</a></li>
<li><a href="Crab_(cipher)" title="Crab (cipher)">Crab</a></li>
<li><a href="Cryptomeria_cipher" title="Cryptomeria cipher">Cryptomeria/C2</a></li>
<li><a href="CRYPTON" title="CRYPTON">CRYPTON</a></li>
<li><a href="CS-Cipher" title="CS-Cipher">CS-Cipher</a></li>
<li><a href="DEAL" title="DEAL">DEAL</a></li>
<li><a href="DES-X" title="DES-X">DES-X</a></li>
<li><a href="DFC_(cipher)" title="DFC (cipher)">DFC</a></li>
<li><a href="E2_(cipher)" title="E2 (cipher)">E2</a></li>
<li><a href="FEAL" title="FEAL">FEAL</a></li>
<li><a href="FEA-M" title="FEA-M">FEA-M</a></li>
<li><a href="FROG" title="FROG">FROG</a></li>
<li><a href="GDES" title="GDES">G-DES</a></li>
<li><a href="Grand_Cru_(cipher)" title="Grand Cru (cipher)">Grand Cru</a></li>
<li><a href="Hasty_Pudding_cipher" title="Hasty Pudding cipher">Hasty Pudding cipher</a></li>
<li><a href="Hierocrypt" title="Hierocrypt">Hierocrypt</a></li>
<li><a href="ICE_(cipher)" title="ICE (cipher)">ICE</a></li>
<li><a href="IDEA_NXT" title="IDEA NXT">IDEA NXT</a></li>
<li><a href="Intel_Cascade_Cipher" title="Intel Cascade Cipher">Intel Cascade Cipher</a></li>
<li><a href="Iraqi_block_cipher" title="Iraqi block cipher">Iraqi</a></li>
<li><a href="Kalyna_(cipher)" title="Kalyna (cipher)">Kalyna</a></li>
<li><a href="KASUMI" title="KASUMI">KASUMI</a></li>
<li><a href="KeeLoq" title="KeeLoq">KeeLoq</a></li>
<li><a href="KHAZAD" title="KHAZAD">KHAZAD</a></li>
<li><a href="Khufu_and_Khafre" title="Khufu and Khafre">Khufu and Khafre</a></li>
<li><a href="KN-Cipher" title="KN-Cipher">KN-Cipher</a></li>
<li><a href="Kuznyechik" title="Kuznyechik">Kuznyechik</a></li>
<li><a href="Ladder-DES" title="Ladder-DES">Ladder-DES</a></li>
<li>LOKI (<a href="LOKI97" title="LOKI97">97</a>, <a href="LOKI" title="LOKI">89/91</a>)</li>
<li><a href="Lucifer_(cipher)" title="Lucifer (cipher)">Lucifer</a></li>
<li><a href="M6_(cipher)" title="M6 (cipher)">M6</a></li>
<li><a href="M8_(cipher)" title="M8 (cipher)">M8</a></li>
<li><a href="MacGuffin_(cipher)" title="MacGuffin (cipher)">MacGuffin</a></li>
<li><a href="Madryga" title="Madryga">Madryga</a></li>
<li><a href="MAGENTA" title="MAGENTA">MAGENTA</a></li>
<li><a href="MARS_(cipher)" title="MARS (cipher)">MARS</a></li>
<li><a href="Mercy_(cipher)" title="Mercy (cipher)">Mercy</a></li>
<li><a href="MESH_(cipher)" title="MESH (cipher)">MESH</a></li>
<li><a href="MISTY1" title="MISTY1">MISTY1</a></li>
<li><a href="MMB_(cipher)" title="MMB (cipher)">MMB</a></li>
<li><a href="MULTI2" title="MULTI2">MULTI2</a></li>
<li><a href="MultiSwap" title="MultiSwap">MultiSwap</a></li>
<li><a href="New_Data_Seal" title="New Data Seal">New Data Seal</a></li>
<li><a href="NewDES" title="NewDES">NewDES</a></li>
<li><a href="Nimbus_(cipher)" title="Nimbus (cipher)">Nimbus</a></li>
<li><a href="NOEKEON" title="NOEKEON">NOEKEON</a></li>
<li><a href="NUSH" title="NUSH">NUSH</a></li>
<li><a href="PRESENT" title="PRESENT">PRESENT</a></li>
<li><a href="Prince_(cipher)" title="Prince (cipher)">Prince</a></li>
<li><a href="Q_(cipher)" title="Q (cipher)">Q</a></li>
<li><a href="QARMA" title="QARMA">QARMA</a></li>
<li><a href="RC2" title="RC2">RC2</a></li>
<li><a href="REDOC" title="REDOC">REDOC</a></li>
<li><a href="Red_Pike_(cipher)" title="Red Pike (cipher)">Red Pike</a></li>
<li><a href="S-1_block_cipher" title="S-1 block cipher">S-1</a></li>
<li><a href="Secure_and_Fast_Encryption_Routine" title="Secure and Fast Encryption Routine">SAFER</a></li>
<li><a href="SAVILLE" title="SAVILLE">SAVILLE</a></li>
<li><a href="SC2000" title="SC2000">SC2000</a></li>
<li><a href="SHACAL" title="SHACAL">SHACAL</a></li>
<li><a href="SHARK" title="SHARK">SHARK</a></li>
<li><a href="Simon_(cipher)" title="Simon (cipher)">Simon</a></li>
<li><a href="Speck_(cipher)" title="Speck (cipher)">Speck</a></li>
<li><a href="Spectr-H64" title="Spectr-H64">Spectr-H64</a></li>
<li><a href="Square_(cipher)" title="Square (cipher)">Square</a></li>
<li><a href="SXAL/MBAL" title="SXAL/MBAL">SXAL/MBAL</a></li>
<li><a href="Threefish" title="Threefish">Threefish</a></li>
<li><a href="Treyfer" title="Treyfer">Treyfer</a></li>
<li><a href="UES_(cipher)" title="UES (cipher)">UES</a></li>
<li><a href="Xmx" title="Xmx">xmx</a></li>
<li><a href="XXTEA" title="XXTEA">XXTEA</a></li>
<li><a href="Zodiac_(cipher)" title="Zodiac (cipher)">Zodiac</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Design</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Feistel_cipher" title="Feistel cipher">Feistel network</a></li>
<li><a href="Key_schedule" title="Key schedule">Key schedule</a></li>
<li><a href="Lai%E2%80%93Massey_scheme" title="Lai–Massey scheme">Lai–Massey scheme</a></li>
<li><a href="Product_cipher" title="Product cipher">Product cipher</a></li>
<li><a href="S-box" title="S-box">S-box</a></li>
<li><a href="Permutation_box" title="Permutation box">P-box</a></li>
<li><a href="Substitution%E2%80%93permutation_network" title="Substitution–permutation network">SPN</a></li>
<li><a href="Confusion_and_diffusion" title="Confusion and diffusion">Confusion and diffusion</a></li>
<li><a href="Round_(cryptography)" title="Round (cryptography)">Round</a></li>
<li><a href="Avalanche_effect" title="Avalanche effect">Avalanche effect</a></li>
<li><a href="Block_size_(cryptography)" title="Block size (cryptography)">Block size</a></li>
<li><a href="Key_size" title="Key size">Key size</a></li>
<li><a href="Key_whitening" title="Key whitening">Key whitening</a> (<a href="Whitening_transformation" title="Whitening transformation">Whitening transformation</a>)</li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Attack<br>(<a href="Cryptanalysis" title="Cryptanalysis">cryptanalysis</a>)</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Brute-force_attack" title="Brute-force attack">Brute-force</a> (<a href="EFF_DES_cracker" title="EFF DES cracker">EFF DES cracker</a>)</li>
<li><a href="Meet-in-the-middle_attack" title="Meet-in-the-middle attack">MITM</a>
<ul><li><a href="Biclique_attack" title="Biclique attack">Biclique attack</a></li>
<li><a href="3-subset_meet-in-the-middle_attack" title="3-subset meet-in-the-middle attack">3-subset MITM attack</a></li></ul></li>
<li><a href="Linear_cryptanalysis" title="Linear cryptanalysis">Linear</a> (<a href="Piling-up_lemma" title="Piling-up lemma">Piling-up lemma</a>)</li>
<li><a href="Differential_cryptanalysis" title="Differential cryptanalysis">Differential</a>
<ul><li><a href="Impossible_differential_cryptanalysis" title="Impossible differential cryptanalysis">Impossible</a></li>
<li><a href="Truncated_differential_cryptanalysis" title="Truncated differential cryptanalysis">Truncated</a></li>
<li><a href="Higher-order_differential_cryptanalysis" title="Higher-order differential cryptanalysis">Higher-order</a></li></ul></li>
<li><a href="Differential-linear_attack" title="Differential-linear attack">Differential-linear</a></li>
<li><a href="Distinguishing_attack" title="Distinguishing attack">Distinguishing</a> (<a href="Known-key_distinguishing_attack" title="Known-key distinguishing attack">Known-key</a>)</li>
<li><a href="Integral_cryptanalysis" title="Integral cryptanalysis">Integral/Square</a></li>
<li><a href="Boomerang_attack" title="Boomerang attack">Boomerang</a></li>
<li><a href="Mod_n_cryptanalysis" title="Mod n cryptanalysis">Mod <i>n</i></a></li>
<li><a href="Related-key_attack" title="Related-key attack">Related-key</a></li>
<li><a href="Slide_attack" title="Slide attack">Slide</a></li>
<li><a href="Rotational_cryptanalysis" title="Rotational cryptanalysis">Rotational</a></li>
<li><a href="Side-channel_attack" title="Side-channel attack">Side-channel</a>
<ul><li><a href="Timing_attack" title="Timing attack">Timing</a></li>
<li><a href="Power_analysis" title="Power analysis">Power-monitoring</a></li>
<li><a href="Electromagnetic_attack" title="Electromagnetic attack">Electromagnetic</a></li>
<li><a href="Acoustic_cryptanalysis" title="Acoustic cryptanalysis">Acoustic</a></li>
<li><a href="Differential_fault_analysis" title="Differential fault analysis">Differential-fault</a></li></ul></li>
<li><a href="XSL_attack" title="XSL attack">XSL</a></li>
<li><a href="Interpolation_attack" title="Interpolation attack">Interpolation</a></li>
<li><a href="Partitioning_cryptanalysis" title="Partitioning cryptanalysis">Partitioning</a></li>
<li><a href="Rubber-hose_cryptanalysis" class="mw-redirect" title="Rubber-hose cryptanalysis">Rubber-hose</a></li>
<li><a href="Black-bag_cryptanalysis" title="Black-bag cryptanalysis">Black-bag</a></li>
<li><a href="Davies_attack" title="Davies attack">Davies</a></li>
<li><a href="Rebound_attack" title="Rebound attack">Rebound</a></li>
<li><a href="Weak_key" title="Weak key">Weak key</a></li>
<li><a href="Kendall_rank_correlation_coefficient" title="Kendall rank correlation coefficient">Tau</a></li>
<li><a href="Chi-squared_test" title="Chi-squared test">Chi-square</a></li>
<li><a href="Time/memory/data_tradeoff_attack" title="Time/memory/data tradeoff attack">Time/memory/data tradeoff</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Standardization</th><td class="navbox-list-with-group navbox-list navbox-even hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Advanced_Encryption_Standard_process" title="Advanced Encryption Standard process">AES process</a></li>
<li><a href="CRYPTREC" title="CRYPTREC">CRYPTREC</a></li>
<li><a href="NESSIE" title="NESSIE">NESSIE</a></li>
<li><a href="NSA_Suite_B_Cryptography" title="NSA Suite B Cryptography">NSA Suite B</a></li>
<li><a href="Commercial_National_Security_Algorithm_Suite" title="Commercial National Security Algorithm Suite">CNSA</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Utilization</th><td class="navbox-list-with-group navbox-list navbox-odd hlist" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Initialization_vector" title="Initialization vector">Initialization vector</a></li>
<li><a href="Block_cipher_mode_of_operation" title="Block cipher mode of operation">Mode of operation</a></li>
<li><a href="Padding_(cryptography)" title="Padding (cryptography)">Padding</a></li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table><div></div></td></tr><tr><td colspan="2" class="navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em"></div><table class="nowraplinks mw-collapsible mw-collapsed navbox-subgroup" style="border-spacing:0"><tbody><tr><th scope="col" class="navbox-title" colspan="2"><div id="Cryptography149" style="font-size:114%;margin:0 4em"><a href="Cryptography" title="Cryptography">Cryptography</a></div></th></tr><tr><th scope="row" class="navbox-group" style="width:1%">General</th><td class="navbox-list-with-group navbox-list navbox-odd" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="History_of_cryptography" title="History of cryptography">History of cryptography</a></li>
<li><a href="Outline_of_cryptography" title="Outline of cryptography">Outline of cryptography</a></li>
<li><a href="Classical_cipher" title="Classical cipher">Classical cipher</a></li>
<li><a href="Cryptographic_protocol" title="Cryptographic protocol">Cryptographic protocol</a>
<ul><li><a href="Authentication_protocol" title="Authentication protocol">Authentication protocol</a></li></ul></li>
<li><a href="Cryptographic_primitive" title="Cryptographic primitive">Cryptographic primitive</a></li>
<li><a href="Cryptanalysis" title="Cryptanalysis">Cryptanalysis</a></li>
<li><a href="Cryptocurrency" title="Cryptocurrency">Cryptocurrency</a></li>
<li><a href="Cryptosystem" title="Cryptosystem">Cryptosystem</a></li>
<li><a href="Cryptographic_nonce" title="Cryptographic nonce">Cryptographic nonce</a></li>
<li><a href="Cryptovirology" title="Cryptovirology">Cryptovirology</a></li>
<li><a href="Hash_function" title="Hash function">Hash function</a>
<ul><li><a href="Cryptographic_hash_function" title="Cryptographic hash function">Cryptographic hash function</a></li>
<li><a href="Key_derivation_function" title="Key derivation function">Key derivation function</a></li>
<li><a href="Secure_Hash_Algorithms" title="Secure Hash Algorithms">Secure Hash Algorithms</a></li></ul></li>
<li><a href="Digital_signature" title="Digital signature">Digital signature</a></li>
<li><a href="Kleptography" title="Kleptography">Kleptography</a></li>
<li><a href="Key_(cryptography)" title="Key (cryptography)">Key (cryptography)</a></li>
<li><a href="Key_exchange" title="Key exchange">Key exchange</a></li>
<li><a href="Key_generator" title="Key generator">Key generator</a></li>
<li><a href="Key_schedule" title="Key schedule">Key schedule</a></li>
<li><a href="Key_stretching" title="Key stretching">Key stretching</a></li>
<li><a href="Keygen" title="Keygen">Keygen</a></li>
<li>Machines</li>
<li><a href="Cryptojacking_malware" class="mw-redirect" title="Cryptojacking malware">Cryptojacking malware</a></li>
<li><a href="Ransomware" title="Ransomware">Ransomware</a></li>
<li><a href="Random_number_generation" title="Random number generation">Random number generation</a>
<ul><li><a href="Cryptographically_secure_pseudorandom_number_generator" title="Cryptographically secure pseudorandom number generator">Cryptographically secure pseudorandom number generator</a> (CSPRNG)</li></ul></li>
<li><a href="Pseudorandom_noise" title="Pseudorandom noise">Pseudorandom noise</a> (PRN)</li>
<li><a href="Secure_channel" title="Secure channel">Secure channel</a></li>
<li><a href="Insecure_channel" class="mw-redirect" title="Insecure channel">Insecure channel</a></li>
<li><a href="Subliminal_channel" title="Subliminal channel">Subliminal channel</a></li>
<li><a href="Encryption" title="Encryption">Encryption</a></li>
<li><a href="Decryption" class="mw-redirect" title="Decryption">Decryption</a></li>
<li><a href="End-to-end_encryption" title="End-to-end encryption">End-to-end encryption</a></li>
<li><a href="Harvest_now%2C_decrypt_later" title="Harvest now, decrypt later">Harvest now, decrypt later</a></li>
<li><a href="Information-theoretic_security" title="Information-theoretic security">Information-theoretic security</a></li>
<li><a href="Plaintext" title="Plaintext">Plaintext</a></li>
<li><a href="Codetext" class="mw-redirect" title="Codetext">Codetext</a></li>
<li><a href="Ciphertext" title="Ciphertext">Ciphertext</a></li>
<li><a href="Shared_secret" title="Shared secret">Shared secret</a></li>
<li><a href="Trapdoor_function" title="Trapdoor function">Trapdoor function</a></li>
<li><a href="Trusted_timestamping" title="Trusted timestamping">Trusted timestamping</a></li>
<li><a href="Key-based_routing" title="Key-based routing">Key-based routing</a></li>
<li><a href="Onion_routing" title="Onion routing">Onion routing</a></li>
<li><a href="Garlic_routing" title="Garlic routing">Garlic routing</a></li>
<li><a href="Kademlia" title="Kademlia">Kademlia</a></li>
<li><a href="Mix_network" title="Mix network">Mix network</a></li></ul>
</div></td></tr><tr><th scope="row" class="navbox-group" style="width:1%">Mathematics</th><td class="navbox-list-with-group navbox-list navbox-even" style="width:100%;padding:0"><div style="padding:0 0.25em">
<ul><li><a href="Cryptographic_hash_function" title="Cryptographic hash function">Cryptographic hash function</a></li>
<li><a href="Block_cipher" title="Block cipher">Block cipher</a></li>
<li><a href="Stream_cipher" title="Stream cipher">Stream cipher</a></li>
<li><a href="Symmetric-key_algorithm" title="Symmetric-key algorithm">Symmetric-key algorithm</a></li>
<li><a href="Authenticated_encryption" title="Authenticated encryption">Authenticated encryption</a></li>
<li><a href="Public-key_cryptography" title="Public-key cryptography">Public-key cryptography</a></li>
<li><a href="Quantum_key_distribution" title="Quantum key distribution">Quantum key distribution</a></li>
<li><a href="Quantum_cryptography" title="Quantum cryptography">Quantum cryptography</a></li>
<li><a href="Post-quantum_cryptography" title="Post-quantum cryptography">Post-quantum cryptography</a></li>
<li><a href="Message_authentication_code" title="Message authentication code">Message authentication code</a></li>
<li><a href="Cryptographically_secure_pseudorandom_number_generator" title="Cryptographically secure pseudorandom number generator">Random numbers</a></li>
<li><a href="Steganography" title="Steganography">Steganography</a></li></ul>
</div></td></tr><tr><td class="navbox-abovebelow" colspan="2"><div>
<ul><li><span class="noviewer" typeof="mw:File"><span title="Category"></span></span> Category</li></ul>
</div></td></tr></tbody></table><div></div></td></tr></tbody></table></div></div><!--htdig_noindex--><div><div class="zim-footer">
This article is issued from <a class="external text" title="Last edited on 2025-07-27" href="https://en.wikipedia.org/wiki/?title=Advanced_Encryption_Standard&amp;oldid=1302720746">Wikipedia</a>. The text is available under <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.en">Creative Commons Attribution-Share Alike 4.0</a> unless otherwise noted. Additional terms may apply for the media files.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>

</body></html>